CN103473096A - 一种在android系统的虚拟机上加载java类的方法及系统 - Google Patents
一种在android系统的虚拟机上加载java类的方法及系统 Download PDFInfo
- Publication number
- CN103473096A CN103473096A CN2013104085199A CN201310408519A CN103473096A CN 103473096 A CN103473096 A CN 103473096A CN 2013104085199 A CN2013104085199 A CN 2013104085199A CN 201310408519 A CN201310408519 A CN 201310408519A CN 103473096 A CN103473096 A CN 103473096A
- Authority
- CN
- China
- Prior art keywords
- java class
- virtual machine
- structural information
- android system
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种在android系统的虚拟机上加载java类的方法及系统,该方法包括以下步骤:android系统的外部java类生成器预先加载并链接所需的java类,获取java类对应的结构信息;外部java类生成器根据结构信息查找所述android系统的虚拟机中是否已经加载了结构信息,如果是则所述虚拟机禁止为结构信息分配内存,否则所述虚拟机根据所述结构信息创建相应的C语言源文件;虚拟机根据C语言源文件得到对应的二进制形式的java类文件并保存在只读存储区;当android系统初始启动时,虚拟机查找所述二进制形式的java类文件直接进行加载。本发明虚拟机中的java类预先生成和存储在ROM中以供使用,缩短了Java类在虚拟机中加载和链接的时间,可以提高android程序的执行效率。
Description
技术领域
本发明涉及网络通信技术领域,特别涉及一种在android系统的虚拟机上加载java类的方法及系统。
背景技术
目前,移动终端的Android系统的Dalvik VM加载类到内存的工作方式如图1所示,首先Android系统决定是否需要类文件(S10),如果需要的话,加载JAR文件(S12),查看JAR文件中有没有classes.dex文件(S14),如果存在则解压出classes.dex(S16),查看classes.dex中有没有需要的类文件(S18),如果有则加载(S20),如果没有,则回到S12,重复以上步骤去查找另外的JAR文件。
Android系统中普通类的链接过程如图2所示,Java类继承链上的所有类和接口的加载和链接是递归进行的。首先,父类先加载,如果没有加载,在S22步骤进行检查并在S24步骤加载,如果父类已经加载,则在S26步骤进行链接,在步骤S28检查Java类继承链上的超接口是否加载,如果没有,则在S30加载超接口,并在S32步骤链接超接口,如果以上步骤成功,在S34步骤创建成员函数表以方便程序运行时快速调用,而且可以创建类的数据域的访问表以方便后续调用。
如上描述,Android系统中普通的Java类加载是一个不断重复的解压相应类文件的过程。在这个过程中的文件操作(打开,读取,查找,关闭)和JAR文件的解压在移动终端中需要消耗大量时间。而且,所需的Java类继承链上的所有父类和超接口的加载和链接过程递归进行,过程复杂而且耗时。
也就是说,传统的 Android系统虚拟机Dalvik VM在初始启动时,Java类的加载和链接导致了Android系统启动的延时。
发明内容
本发明提供了一种在android系统的虚拟机上加载java类的方法及系统,解决Android系统虚拟机初始启动Java类的加载和链接所导致的Android系统启动的延时问题。
本发明提供了一种在android系统的虚拟机上加载java类的方法,该方法包括以下步骤:
android系统的外部java类生成器预先加载并链接所需的java类,获取所述java类对应的结构信息;
所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息,如果是则所述虚拟机禁止为所述结构信息分配内存,否则所述虚拟机根据所述结构信息创建相应的C语言源文件;
所述虚拟机根据所述C语言源文件得到对应的二进制形式的java类文件并保存在只读存储区;
当所述android系统初始启动时,所述虚拟机查找所述二进制形式的java类文件直接进行加载。
其中,所述获取所述java类对应的结构信息具体为:获取所述java类的相关信息,将所述相关信息通过创建函数结构存储,形成结构信息。
其中,所述获取所述java类的相关信息具体包括:从所述java类中提取基本信息、从所述java类对应的超类提取信息以及从所述java类对应的超接口提取信息。
其中,所述结构信息包括所述java类的基本信息、所述java类的连接状态信息、所述java类方法、静态变量和实例变量。
其中,所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息,如果是则所述虚拟机禁止为所述结构信息分配内存具体为:所述android系统的虚拟机通过垃圾回收机制的标记算法,阻止所述结构信息所需内存的分配。
此外,本发明还提供了一种在android系统的虚拟机上加载java类的系统,该系统,包括:
外部java类生成器,用于预先加载并链接所需的java类,获取所述java类对应的结构信息;并根据所述结构信息查找移动终端android系统的虚拟机中是否已经加载了所述结构信息;
装有android系统的移动终端,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;当所述android系统初始启动时,所述移动终端还用于查找所述二进制形式的java类文件直接进行加载。
其中,所述装有android系统的移动终端包括:
虚拟机,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;
java类模块,用以初始启动时,存放预先选择的程序。
其中,所述虚拟机包括:
Java类加载模块,当所述android系统初始启动时,用于java类文件的加载;
Java类存储模块,用于存储外部Java类生成器建立的Java类结构信息;
内存管理,用于保存根据所述C语言源文件得到对应的二进制形式的java类文件。
与现有技术相比,本发明实施例具有以下优点:现有技术中Android系统中普通的Java类加载是一个不断重复的解压相应类文件的过程。在这个过程需要消耗大量时间。而且,所需的Java类继承链上的所有父类和超接口的加载和链接过程递归进行,过程复杂而且耗时,本发明通过android系统的外部java类生成器将虚拟机中的java类预先生成和存储在ROM中以供使用,可以有效缩短虚拟机初始启动时间,节省25%左右,而且普通的Android应用程序Java类的加载也可以采用本发明的方法,可以提高android程序的执行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1 普通的Android系统上虚拟机加载类到内存的工作方式流程图。
图2 普通的Android系统上虚拟机链接类的工作方式流程图。
图3 是本发明一种在android系统的虚拟机上加载java类的方法流程图 。
图4 本发明实施例的带有Dalvik虚拟机的移动终端配置图。
图5 本发明实施例的Dalvik虚拟机配置图。
图6 本发明实施例的Java类建立过程流程图。
图7 本发明实施例的Java类加载过程流程图。
图8 本发明实施例的内存管理标记算法流程图。
图9 本发明实施例的内存管理清除算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中提供了一种在android系统的虚拟机上加载java类的方法,通过一个外部Java类生成器将虚拟机中的java类预先生成和存储在ROM中以供使用,当虚拟机Dalvik VM初始启动时,所述虚拟机查找所述二进制形式的java类文件直接进行加载,缩短了Java类在虚拟机中加载和链接的时间,可以提高android程序的执行效率,如图3 所示,该方法包括以下步骤:
步骤S101,android系统的外部java类生成器预先加载并链接所需的java类,获取所述java类对应的结构信息;
步骤S102,所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息;
如果是则执行步骤S1022,所述虚拟机禁止为所述结构信息分配内存;
否则将执行步骤S1021,所述虚拟机根据所述结构信息创建相应的C语言源文件;
步骤S103,所述虚拟机根据所述C语言源文件得到对应的二进制形式的java类文件并保存在只读存储区;
步骤S104,当所述android系统初始启动时,所述虚拟机查找所述二进制形式的java类文件直接进行加载。其中,所述获取所述java类对应的结构信息具体为:获取所述java类的相关信息,将所述相关信息通过创建函数结构存储,形成结构信息。
其中,所述获取所述java类的相关信息具体包括:从所述java类中提取基本信息、从所述java类对应的超类提取信息以及从所述java类对应的超接口提取信息。
其中,所述结构信息包括所述java类的基本信息、所述java类的连接状态信息、所述java类方法、静态变量和实例变量。
其中,所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息,如果是则所述虚拟机禁止为所述结构信息分配内存具体为:所述android系统的虚拟机通过垃圾回收机制的标记算法,阻止所述结构信息所需内存的分配。
此外,本发明还提供了一种在android系统的虚拟机上加载java类的系统,该系统,如图5和图6所示,包括:
外部java类生成器100,用于预先加载并链接所需的java类,获取所述java类对应的结构信息;并根据所述结构信息查找移动终端android系统的虚拟机中是否已经加载了所述结构信息;
装有android系统的移动终端300,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;当所述android系统初始启动时,所述移动终端还用于查找所述二进制形式的java类文件直接进行加载。
其中,所述装有android系统的移动终端包括:
虚拟机,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;
java类模块,用以初始启动时,存放预先选择的程序。
其中,所述虚拟机包括:Java类加载加载器和内存管理,
其中,所述Java类加载加载器,包括Java类加载模块和 Java类存储模块;
Java类加载模块,当所述android系统初始启动时,用于java类文件的加载;
Java类存储模块,用于存储外部Java类生成器建立的Java类结构信息;
内存管理,用于保存根据所述C语言源文件得到对应的二进制形式的java类文件。
实施例一,图4为本发明实施例的带有虚拟机的移动终端的配置图,配置有Dalvik VM(310)的机器(如Android移动终端,(300)),其Dalvik VM包括Java类加载器(320)和内存管理模块(330)。外部Java类产生器建立的Java类存储在模块350中。
模块350中的Java类,是由外部Java类产生器(100)建立的,根据初始启动程序需要,预先选定一个或者多个Java类加载和链接,并在这个过程中抽取信息,这些信息形成要建立的Java类的基本结构,并根据此结构建立Java类。
在本实施例中,外部Java类产生器(100),从所需要加载的一个或者多个Java类中抽取信息结构,当Dex文件执行时,从一个或者多个压缩文件(JAR)加载的Java类的链接状态提取结构信息;根据提取的结构信息产生C语言源文件;根据C语言源文件产生二进制形式的Java类文件。
这里,C语言的结构包括方法、静态变量、静态初始化、实例初始化。另一方面,生成的Java类的信息,存放在只读存储区。
在Dalvik VM中,Java类加载器(320)通过索引检查Java类的存在,Java类存储单元(350)用以初始启动存放预先选择的程序。
在本实施例中,Java类加载器(320),在初始启动时,通过外部Java类生成器(100)提供的哈希表或者二叉树搜索Java类,如果要查找的Java类存在则返回其动态变量。
Java类的动态信息,存在内存管理单元330。内存管理单元330采用垃圾回收机制可以阻止不需要的Java类动态信息的内存分配。
图5为本发明实施例的虚拟机配置图,虚拟机(400)包括类加载器(410)和内存管理(440)。类加载器(410)包括Java类加载(420)和Java类存储(430)。进一步,Java类存储模块(430)可以存储有外部Java类生成器建立的Java类。
外部Java类生成器(100)产生Java类加载和链接状态信息。换句话说,外部Java类生成器通过普通的Java类加载器(Java类加载和链接模块)在JAR文件加载和链接的时候提取信息建立一个Java类。这样提取的信息用结构来存储,包含类的链接状态信息。这些结构代表了类的基本信息,类对象、方法、静态域、实例域。外部Java类生成器(100)可以把这些结构以C语言文件形式输出。
外部Java类生成器(100)为Java类加载器(420)建立类加载时查找所需要的哈希表或者二叉树。如果Dalvik VM需要加载特殊的Java类,在初次初始化的时候,通过在索引表中搜索可以返回该Java类的动态变量。如果该Java类不存在,则当做一般的Java类进行加载和链接处理。
内存管理模块(440)支持垃圾回收机制。普通的内存管理以标记&清除(Mark&Sweep)方式工作,清除分为两个阶段,标记算法和不断的迭代清除内存堆。
安装Java类的ROM分为静态和动态区域。在内存管理中,必须阻止当前没有使用的Java类产生动态信息。ROM中安装了Dalvik VM以及相应的内存管理和Java类。在标记阶段,Java类在虚拟机中产生的所有动态信息都要被标记。
本发明实施例中Java类的建立过程如图6所示,包括:
步骤S102外部Java类生成器首先加载所需的Java类;
步骤S104链接所需的Java类;
步骤S106从所需的Java类中选择一个类来创建信息;
步骤S108外部Java类生成器从所选的Java类中提取基本信息;
步骤S110从超类提取信息;
步骤S112从超接口提取信息;
步骤S114外部Java类生成器创建函数;
步骤S116外部Java类生成器创建函数表;
步骤S118外部Java类生成器创建接口以及接口表;
进一步,
步骤S120外部Java类生成器创建成员变量和静态变量;
步骤S122确定是否所有需要的类的信息都已创建好;
如果没有,则返回步骤S106重复进行,如果确定已经完成,则进行步骤S124;
步骤S124在链接表加载状态信息,并在外部Java类生成器可以把以上信息编译成二级制可执行文件。
本发明实施例的Java类加载过程如图7所示,包括:
步骤S202虚拟机的类加载器根据哈希表查找加载类到ROM;
如果没有加载,在按照普通的流程进行:
步骤S204Java类的加载;
步骤S206Java类的链接。
另一方面,如果检查确定Java类已经加载到ROM中,则只需要:
步骤S208对已经加载的类进行初始化;
步骤S210返回有关类的信息。
参考图8和图9,所示为本发明实施例的内存管理流程图,具体地,图8为本发明实施例的内存管理标记算法流程图;图9为本发明实施例的内存管理清除算法流程图。根据图8和图9所示,内存管理分为标记和清除两个阶段。标记阶段主要包括步骤S302到步骤S316,清除阶段主要包括步骤S318到步骤S322。
步骤S302虚拟机查找并标记所有加载的类;
步骤S304查找并标记所有类的名字。
在本实施例中,虚拟机的堆(heap)中存放的当前不在用的Java类的动态信息必须释放出来,并且内存管理器应该阻止为这些不用的Java类分配内存。
进一步包括:
步骤S306虚拟机内存管理查找并标记所有的线程;
步骤S308虚拟机内存管理查找并标记所有的字符串;
步骤S310虚拟机内存管理查找并标记全局对象;
步骤S312标记对象状态所存在的堆;
步骤S314标记所有对象的状态;
步骤S316检查是否所有对象已标记;
标记完成后,进入清除阶段。
清除阶段主要包括:
步骤S318释放未标记的堆;
步骤S320释放已分配的未标记对象所占用的内存;
步骤S322检查所有的未标记对象是否处理完,直至清除阶段结束。
本发明实施例的技术方案带来的有益效果如下:通过android系统的外部java类生成器将虚拟机中的java类预先生成和存储在ROM中以供使用,缩短了Java类在虚拟机中加载和链接的时间,可以提高android程序的执行效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上实施例仅用以说明本发明的技术方案而非限定,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种在android系统的虚拟机上加载java类的方法,其特征在于,包括以下步骤:
android系统的外部java类生成器预先加载并链接所需的java类,获取所述java类对应的结构信息;
所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息,如果是则所述虚拟机禁止为所述结构信息分配内存,否则所述虚拟机根据所述结构信息创建相应的C语言源文件;
所述虚拟机根据所述C语言源文件得到对应的二进制形式的java类文件并保存在只读存储区;
当所述android系统初始启动时,所述虚拟机查找所述二进制形式的java类文件直接进行加载。
2.根据权利要求1所述的方法,其特征在于,所述获取所述java类对应的结构信息具体为:获取所述java类的相关信息,将所述相关信息通过创建函数结构存储,形成结构信息。
3.根据权利要求2所述的方法,其特征在于,所述获取所述java类的相关信息具体包括:从所述java类中提取基本信息、从所述java类对应的超类提取信息以及从所述java类对应的超接口提取信息。
4.根据权利要求1所述的方法,其特征在于,所述结构信息包括所述java类的基本信息、所述java类的连接状态信息、所述java类方法、静态变量和实例变量。
5.根据权利要求1所述的方法,其特征在于,所述外部java类生成器根据所述结构信息查找所述android系统的虚拟机中是否已经加载了所述结构信息,如果是则所述虚拟机禁止为所述结构信息分配内存具体为:所述android系统的虚拟机通过垃圾回收机制的标记算法,阻止所述结构信息所需内存的分配。
6.一种在android系统的虚拟机上加载java类的系统,其特征在于,包括:
外部java类生成器,用于预先加载并链接所需的java类,获取所述java类对应的结构信息;并根据所述结构信息查找移动终端android系统的虚拟机中是否已经加载了所述结构信息;
装有android系统的移动终端,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;当所述android系统初始启动时,所述移动终端还用于查找所述二进制形式的java类文件直接进行加载。
7.根据权利要求6所述的系统,其特征在于,所述装有android系统的移动终端包括:
虚拟机,当android系统的虚拟机中已经加载了所述结构信息时,所述移动终端禁止为所述结构信息分配内存,否则所述移动终端用于根据所述结构信息创建相应的C语言源文件,还用于根据所述C语言源文件得到对应的二进制形式的java类文件并保存;
java类模块,用以初始启动时,存放预先选择的程序。
8.根据权利要求7所述的系统,其特征在于,所述虚拟机包括:
Java类加载模块,当所述android系统初始启动时,用于java类文件的加载;
Java类存储模块,用于存储外部Java类生成器建立的Java类结构信息;
内存管理,用于保存根据所述C语言源文件得到对应的二进制形式的java类文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104085199A CN103473096A (zh) | 2013-09-10 | 2013-09-10 | 一种在android系统的虚拟机上加载java类的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013104085199A CN103473096A (zh) | 2013-09-10 | 2013-09-10 | 一种在android系统的虚拟机上加载java类的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103473096A true CN103473096A (zh) | 2013-12-25 |
Family
ID=49797965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013104085199A Pending CN103473096A (zh) | 2013-09-10 | 2013-09-10 | 一种在android系统的虚拟机上加载java类的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473096A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404589A (zh) * | 2015-10-29 | 2016-03-16 | 天脉聚源(北京)教育科技有限公司 | 一种垃圾回收方法及装置 |
CN106528255A (zh) * | 2016-12-19 | 2017-03-22 | 北京小米移动软件有限公司 | 类加载方法及装置 |
CN109189374A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于对象引用链的对象构造代码生成方法及系统 |
CN112559073A (zh) * | 2020-12-16 | 2021-03-26 | 北京百度网讯科技有限公司 | 程序启动方法、类间关系构建方法及装置、移动终端 |
CN114153521A (zh) * | 2019-03-25 | 2022-03-08 | 华为技术有限公司 | 类加载方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1519709A (zh) * | 2003-02-07 | 2004-08-11 | 三星电子株式会社 | 用于缩短java程序中的类加载处理的系统和方法 |
CN101339508A (zh) * | 2008-08-18 | 2009-01-07 | 深圳华为通信技术有限公司 | 一种Java2微型版应用的运行方法和装置 |
CN102262555A (zh) * | 2011-08-22 | 2011-11-30 | 迈普通信技术股份有限公司 | 加载java三方库的不同版本的方法和装置 |
CN102567033A (zh) * | 2010-12-14 | 2012-07-11 | 北京大学 | 基于嵌入式实时Java虚拟机的预先类加载方法及装置 |
CN102929597A (zh) * | 2012-09-24 | 2013-02-13 | 摩卡软件(天津)有限公司 | 一种基于Java平台的Web业务支持方法和装置 |
-
2013
- 2013-09-10 CN CN2013104085199A patent/CN103473096A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1519709A (zh) * | 2003-02-07 | 2004-08-11 | 三星电子株式会社 | 用于缩短java程序中的类加载处理的系统和方法 |
CN101339508A (zh) * | 2008-08-18 | 2009-01-07 | 深圳华为通信技术有限公司 | 一种Java2微型版应用的运行方法和装置 |
CN102567033A (zh) * | 2010-12-14 | 2012-07-11 | 北京大学 | 基于嵌入式实时Java虚拟机的预先类加载方法及装置 |
CN102262555A (zh) * | 2011-08-22 | 2011-11-30 | 迈普通信技术股份有限公司 | 加载java三方库的不同版本的方法和装置 |
CN102929597A (zh) * | 2012-09-24 | 2013-02-13 | 摩卡软件(天津)有限公司 | 一种基于Java平台的Web业务支持方法和装置 |
Non-Patent Citations (2)
Title |
---|
曹大有等: "通过Java的自定义类加载器执行保存在Web服务器上的字节码文件", 《计算机应用》 * |
邹琼: "Java虚拟机的自适应动态优化", 《万方中国学位论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404589A (zh) * | 2015-10-29 | 2016-03-16 | 天脉聚源(北京)教育科技有限公司 | 一种垃圾回收方法及装置 |
CN105404589B (zh) * | 2015-10-29 | 2019-04-30 | 天脉聚源(北京)教育科技有限公司 | 一种垃圾回收方法及装置 |
CN106528255A (zh) * | 2016-12-19 | 2017-03-22 | 北京小米移动软件有限公司 | 类加载方法及装置 |
CN106528255B (zh) * | 2016-12-19 | 2019-07-12 | 北京小米移动软件有限公司 | 类加载方法及装置 |
CN109189374A (zh) * | 2018-06-22 | 2019-01-11 | 北京大学 | 基于对象引用链的对象构造代码生成方法及系统 |
CN109189374B (zh) * | 2018-06-22 | 2020-08-28 | 北京大学 | 基于对象引用链的对象构造代码生成方法及系统 |
CN114153521A (zh) * | 2019-03-25 | 2022-03-08 | 华为技术有限公司 | 类加载方法和装置 |
CN112559073A (zh) * | 2020-12-16 | 2021-03-26 | 北京百度网讯科技有限公司 | 程序启动方法、类间关系构建方法及装置、移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473096A (zh) | 一种在android系统的虚拟机上加载java类的方法及系统 | |
CN102652308B (zh) | 将数据高效地载入计算系统的存储器中的方法和系统 | |
CN105224370B (zh) | 一种加载elf文件的方法和装置 | |
US11797692B2 (en) | Tool for generating security policies for containers | |
CN103810020A (zh) | 虚拟机弹性伸缩方法及装置 | |
CN104220987A (zh) | 应用安装 | |
CN103049708B (zh) | 一种数据库的审计配置方法及系统 | |
CN113296786B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN103577212A (zh) | 系统启动预加载方法及装置 | |
CN102929716A (zh) | 一种启动多进程的方法 | |
CN103034544A (zh) | 一种用户态与内核态共享内存的管理方法和装置 | |
CN104750620A (zh) | 一种内存迁移方法及装置 | |
Iannone et al. | Refactoring android-specific energy smells: A plugin for android studio | |
CN106569863A (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN103425729A (zh) | 管理计算机系统中的内存 | |
US20090217022A1 (en) | Method and apparatus for loading classes and re-organizing class archives | |
CN103617060B (zh) | 使用超级状态存储加快嵌入式软件启动过程的方法 | |
CN112328241B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
KR101249739B1 (ko) | 달빅 가상머신이 탑재된 단말기에서 자바 클래스 로딩 방법, 그리고 이를 수행하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 | |
CN104375949A (zh) | 一种智能卡存储空间整理方法及系统 | |
CN104516752A (zh) | 一种信息处理方法及电子设备 | |
US8886675B2 (en) | Method and system for managing data clusters | |
CN106528254A (zh) | 一种app快速加载方法 | |
US20120144366A1 (en) | Refactor exception class hierarchy for reduced footprint and faster application start | |
CN105242978A (zh) | 多线程条件下cpu高速缓存行失效的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131225 |