[发明专利]一种实现微服务架构下拓展功能组件的方法在审
| 申请号: | 202211661142.3 | 申请日: | 2022-12-23 |
| 公开(公告)号: | CN116244001A | 公开(公告)日: | 2023-06-09 |
| 发明(设计)人: | 宋洋 | 申请(专利权)人: | 新国脉数字文化股份有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 200003 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 实现 微服 架构 拓展 功能 组件 方法 | ||
一种实现基于微服务架构项目快速热插拔拓展功能组件的方法,实现的重要环节就是类加载。Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销,但是却为Java应用提供了极高的扩展性和灵活性。
技术领域
本发明属于IT与软件开发领域。
背景技术
随着IT与软件开发技术的快速发展,再加上近年来网络与信息安全环境愈发严峻,产品需要不断地更新换代,以往的项目更新迭代,一个功能应用的新增、删除与优化,需要消耗开发、实施、测试、财力等多方资源,部分功能模块因代码关系耦合问题也无法彻底删除,不断累积在原有系统平台上,造成冗余,与此同时,也难免伴随着系统停机更新,给用户使用带来不变。
发明内容
本发明实施实例中,一种实现基于微服务架构项目快速热插拔拓展功能组件的方法,实现的重要环节就是类加载。Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销, 但是却为Java应用提供了极高的扩展性和灵活性。
1、加载阶段:是指查找字节流,并且据此创建类的过程。在加载阶段,Java虚拟机需要完成以下三件事情:通过一个类的全限定名来获取定义此类的二进制字节流;将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构;在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。
2、链接阶段:这是核心的步骤,简单说是把原始的类定义信息平滑地转入 JVM 运行的过程中。细分成三个步骤:验证,用于确保类或接口的二进制表示结构上是正确的,从而确保字节流包含的信息对虚拟机来说是安全的,包含4个验证动作:文件格式验证、元数据验证、字节码验证、符号引用验证。准备,准备阶段的任务是为类或者接口的静态字段分配空间,并且默认初始化这些字段。解析,解析阶段是把常量池内的符号引用替换成直接引用的过程。
3、初始化阶段:是类加载过程的最后一步,到了初始化阶段才开始真正执行java代码。编译器自动收集实例变量初始化以及实例代码块后自动合并生成类的构造方法,子类初始化时会先调用父类构造方法,用以保证子类能正常初始化。
4、使用与卸载阶段:完成Class对象的引用,直至被方法区中的类回收后,完成卸载。
附图说明
图1为系统架构图。
具体实施方式
结合本发明实施例中的附图,对本发明实施过程描述如下:
Step1:首先在项目的基于spring cloud微服务架构中预留标准化接口,负责调用javac类加载器,实现类加载。
Step2: 在加载阶段,通过调用标准化接口,将需发布的组件源文件(*.java)经过javac编译转化为方法区的运行时(Runtime)数据结构,并在内存中生成各个源文件对应的java.lang.Class对象,作为方法区这个组件的各种数据的访问入口。
Step3:在链接阶段,把原始的类定义信息平滑地转入 JVM 运行的过程中,经过文件格式验证、元数据验证、字节码验证、符号引用验证四个动作,确保类或接口的二进制表示结构的正确性,确保字节流包含的信息对jvm的安全性。再经过分配空间(准备阶段)、常量引用替换(解析阶段),完成快速加载的核心步骤。
Step4:完成Class对象的引用,直至被方法区中的类回收后,完成卸载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新国脉数字文化股份有限公司,未经新国脉数字文化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211661142.3/2.html,转载请声明来源钻瓜专利网。





