[发明专利]一种类文件装载方法和系统有效
申请号: | 200710163895.0 | 申请日: | 2007-10-11 |
公开(公告)号: | CN101126988A | 公开(公告)日: | 2008-02-20 |
发明(设计)人: | 游兴旺 | 申请(专利权)人: | 金蝶软件(中国)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京集佳知识产权代理有限公司 | 代理人: | 逯长明 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种类 文件 装载 方法 系统 | ||
1.一种类文件装载方法,其特征在于,包括:
自定义一个类装载器替换java虚拟机默认的系统类装载器;
根据自定义的类装载器规则,生成java应用所需jar文件的索引文件;
Java虚拟机启动所述自定义的类装载器,初始化自定义类装载器;
自定义类装载器装载类文件。
2.如权利要求1所述类文件装载方法,其特征在于,所述自定义类装载器装载类文件的具体步骤为:
自定义类装载器请求上一级的应用类装载器装载类文件,如果所述应用类装载器装载不成功,则:
自定义类的类装载器根据所述索引文件装载类文件。
3.如权利要求2所述类文件装载方法,其特征在于:
所述自定义的类装载器根据生成的索引文件查找对应的jar文件,从所述jar文件中确定要装载的类文件,装载所述确定的类文件。
4.如权利要求3所述类文件装载方法,其特征在于,还包括:
根据类文件被自定义的类装载器装载的命中率缓存确定数量的jar文件句柄。
5.如权利要求1所述类文件装载方法,其特征在于,所述自定义类装载器装载类文件的具体步骤包括:
Java虚拟机通知自定义的类装载器要装载的类;
自定义的类装载器请求上一级的应用类装载器装载所述类,如果装载不成功,则:
自定义的类装载器解析该类对应的包名
根据所述包名,从生成的索引文件中确定对应的jar文件;
判断所述jar文件中是否包含对应的类文件,有则装载,否则:
判断下一个jar文件中是否包含对应的类文件,重复上一步,完成类文件的装载。
6.如权利要求1所述类文件装载方法,其特征在于,所述生成java应用所需jar文件的索引文件的具体步骤包括:
扫描每个路径下的所有jar文件,根据每个jar文件中的每个目录生成该目录到jar文件名的映射,在当前路径下生成索引文件。
7.如权利要求6所述类文件装载方法,其特征在于,所述在当前路径下生成索引文件的具体步骤包括:
打开第一/下一个路径;
逐个打开所述路径下的所有jar文件;
递归查找所述打开的jar文件中的每个目录,如果该目录下包括类文件,则生成该目录与jar文件的映射;
根据所述生成的映射生成索引文件。
8.根据权利要求1所述类文件装载方法,其特征在于,还包括:
当java应用所需的jar文件变化时,则重新生成java应用所需jar文件的索引文件。
9.一种类文件装载系统,其特征在于,包括:
替换单元,用于自定义一个类装载器替换java虚拟机默认的系统类装载器;
索引文件生成单元,根据自定义的类装载器规则,生成java应用所需jar文件的索引文件;
初始化单元,用于当Java虚拟机启动所述自定义的类装载器时,初始化自定义类装载器;
第一装载单元,用于自定义类装载器装载类文件。
10.如权利要求9所述类装载系统,其特征在于,所述第一装载单元包括:
请求单元,用于请求上一级应用类装载器装载类文件;
判断单元,用于判断上一级应用类装载器装载类文件是否成功;
第二装载单元,用于所述自定义类的类装载器根据索引文件装载类文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于金蝶软件(中国)有限公司,未经金蝶软件(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710163895.0/1.html,转载请声明来源钻瓜专利网。