【技术实现步骤摘要】
一种类加载方法及装置
本申请涉及计算机领域,尤其涉及一种类加载方法及装置。
技术介绍
随着一个应用系统的功能不断丰富,需要将具有多种功能的应用系统进行模块化的拆分,即每个模块对应应用系统中的一个功能,每个模块都是一个独立的业务功能。例如,若银行应用系统中可以提供存钱和取钱两种功能,则可以将系统拆分为两个模块,一个模块只负责存钱的功能,另一个模块只负责取钱的功能,两者虽然是一个应用系统,但是不互相干扰。在拆分为模块之后,每个模块都需要向类加载器发送类加载请求,类加载器将类文件加载为二进制的数据读入内存中,并将其放在运行时数据区域的方法区内,然后在数据区域中创建一个对象,用来封装类在方法区内的数据结构。现有的类加载机制是双亲委派的加载机制,如图1所示,有三种非自定义类加载器,分别是启动类加载器(BootstrapClassLoader)、扩展类加载器(ExtensionClassLoader)和应用程序类加载器(ApplicationClassLoader),当一个类加载器收到一个类加载请求时,它首先不会自己去尝试加载这个类,而 ...
【技术保护点】
1.一种类加载方法,其特征在于,所述方法包括:/n获取应用模块的类加载请求,所述类加载请求携带有所述应用模块的属性配置信息和类加载配置信息;/n根据所述类加载配置信息从多个类加载器中确定目标类加载器,所述多个类加载器包括非自定义类加载器和多个自定义类加载器,每一个自定义类加载器至少有2个自定义加载器作为父类加载器;/n控制所述目标类加载器根据所述属性配置信息对所述类加载请求进行处理;/n将所述类加载请求的处理结果返回所述应用模块。/n
【技术特征摘要】
1.一种类加载方法,其特征在于,所述方法包括:
获取应用模块的类加载请求,所述类加载请求携带有所述应用模块的属性配置信息和类加载配置信息;
根据所述类加载配置信息从多个类加载器中确定目标类加载器,所述多个类加载器包括非自定义类加载器和多个自定义类加载器,每一个自定义类加载器至少有2个自定义加载器作为父类加载器;
控制所述目标类加载器根据所述属性配置信息对所述类加载请求进行处理;
将所述类加载请求的处理结果返回所述应用模块。
2.根据权利要求1所述的方法,其特征在于,所述类加载配置信息包括所述应用模块的标识;
所述根据所述类加载配置信息从多个类加载器中确定目标类加载器包括:
将所述多个类加载器中与所述应用模块的标识对应的类加载器确定为目标类加载器。
3.根据权利要求2所述的方法,其特征在于,所述多个自定义类加载器包括所述目标类加载器的至少两个父类自定义加载器;
所述控制所述目标类加载器根据所述属性配置信息对所述类加载请求进行处理包括:
控制所述至少两个父类自定义加载器对所述类加载请求进行处理,得到第一处理结果;
控制所述目标类加载器根据所述属性配置信息和所述第一处理结果对所述类加载请求进行处理,得到第二处理结果;
将所述类加载请求的处理结果返回所述应用模块包括:
将所述类加载请求的第二处理结果返回所述应用模块。
4.根据权利要求1所述的方法,其特征在于,所述类加载配置信息包括:反向类加载指示信息和所述应用模块的标识;
所述根据所述类加载配置信息从多个类加载器中确定目标类加载器包括:
从所述多个类加载器中确定与所述应用模块的标识对应的第一类加载器;
根据反向类加载指示信息判断所述第一类加载器是否能够处理所述类加载请求;
若是,则将所述第一类加载器确定为所述目标类加载器;
若否,则将所述第一类加载器的父类加载器作为所述目标类加载器。
5.根据权利要求1所述的方法,其特征在于,所述类加载配置信息包括:隐藏类加载指示信息;
所述根据所述类加载配置信息从多个类加载器中确定目标类加载器包括:
从所述多个类加载器中确定与所述应用模块的标识对应的第一类加载器;
根据隐藏类加载指示信息判断所述第一类加载器是否能够处理所述类加载请求;
若是,则将所述第一类加载器确定为所述目标类加载器;
若否,则向所述应用模块返回处理失败的处理结果。
6.一种类加载装置,其特征在于,所述装置包括:
获取单元,用于获取应用模块的类加载请求,所述类加载请求携...
【专利技术属性】
技术研发人员:应俊,孙莹,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。