发明名称 |
基于嵌入式实时Java虚拟机的预先类加载方法及装置 |
摘要 |
本发明提供基于嵌入式实时Java虚拟机的预先类加载方法及装置。该方法包括:修改类加载器的java类文件,设置用于根据类的列表进行类加载的加载方法;修改虚拟机内核的jni类,设置用于调用所述加载方法以预先加载应用程序所需的全部类的预先类加载方法;获取包含应用程序所需的全部类的类列表;根据所述预先类加载方法,依照所述类列表预先加载所述应用程序所需的全部类。本发明提供的基于嵌入式实时Java虚拟机的预先类加载方法及装置能够避免时间抖动及嵌入式系统资源有限的缺陷,实现了在嵌入式实时Java虚拟机中的预先类加载。 |
申请公布号 |
CN102567033B |
申请公布日期 |
2015.09.16 |
申请号 |
CN201010588216.6 |
申请日期 |
2010.12.14 |
申请人 |
北京大学 |
发明人 |
曹东刚;荀娜;梅宏 |
分类号 |
G06F9/445(2006.01)I |
主分类号 |
G06F9/445(2006.01)I |
代理机构 |
北京同立钧成知识产权代理有限公司 11205 |
代理人 |
刘芳 |
主权项 |
一种基于嵌入式实时Java虚拟机的预先类加载方法,其特征在于,包括:修改类加载器的java类文件,设置用于根据类的列表进行类加载的加载方法;修改虚拟机内核的jni类,设置预先类加载方法,所述预先类加载方法用于调用所述加载方法以预先加载应用程序所需的全部类;获取包含应用程序所需的全部类的类列表;根据所述预先类加载方法,依照所述类列表预先加载所述应用程序所需的全部类;所述获取包含应用程序所需的全部类的类列表的步骤包括:步骤1:获取初始类和所述初始类的依赖类,将所述初始类及所述依赖类的键值加入到所述类列表中;步骤2:获取与所述加入到所述类列表中的键值对应的依赖类具有依赖关系的类,若判断获知所述类的键值未包括在所述类列表中,则将所述类的键值加入到所述类列表中,并重复执行步骤2。 |
地址 |
100871 北京市海淀区颐和园路5号北京大学信息科学技术学院软件所 |