-
公开(公告)号:CN104035809B
公开(公告)日:2017-11-17
申请号:CN201410177666.4
申请日:2014-04-29
Applicant: 哈尔滨工程大学
IPC: G06F9/455
Abstract: 本发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetMethodID和GetStaticMethodID性能优化方法。本发明包括:在目标接口函数的适当位置植入数据索引机制;获取目标数据的标识常量并调用哈希函数计算标识常量的哈希值;根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址;根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。采用本发明所提供的优化技术方案对JNI机制接口函数GetMethodID、GetStaticMethodID进行优化后,性能表现全面优于原接口函数,性能提升幅度较大,在一定程度上可以提高Dalvik虚拟机整体性能。
-
公开(公告)号:CN105183532B
公开(公告)日:2019-02-26
申请号:CN201410177652.2
申请日:2014-04-29
Applicant: 哈尔滨工程大学
Abstract: 本发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetFieldID以及GetStaticFieldID性能优化方法。本发明包括:在目标接口函数的适当位置植入数据索引机制;获取目标数据的标识常量并调用哈希函数计算该标识常量的哈希值;根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址,否则下一步;根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。采用本发明所提供的优化技术方案对JNI机制接口函数GetFieldID、GetStaticFieldID进行优化后,当Java类中字段数据规模达到一定程度后,其性能表现将优于原接口函数,性能提升幅度较大。
-
公开(公告)号:CN105183532A
公开(公告)日:2015-12-23
申请号:CN201410177652.2
申请日:2014-04-29
Applicant: 哈尔滨工程大学
Abstract: 本发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetFieldID以及GetStaticFieldID性能优化方法。本发明包括:在目标接口函数的适当位置植入数据索引机制;获取目标数据的标识常量并调用哈希函数计算该标识常量的哈希值;根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址,否则下一步;根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。采用本发明所提供的优化技术方案对JNI机制接口函数GetFieldID、GetStaticFieldID进行优化后,当Java类中字段数据规模达到一定程度后,其性能表现将优于原接口函数,性能提升幅度较大。
-
公开(公告)号:CN104035809A
公开(公告)日:2014-09-10
申请号:CN201410177666.4
申请日:2014-04-29
Applicant: 哈尔滨工程大学
IPC: G06F9/455
Abstract: 本发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetMethodID和GetStaticMethodID性能优化方法。本发明包括:在目标接口函数的适当位置植入数据索引机制;获取目标数据的标识常量并调用哈希函数计算标识常量的哈希值;根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址;根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。采用本发明所提供的优化技术方案对JNI机制接口函数GetMethodID、GetStaticMethodID进行优化后,性能表现全面优于原接口函数,性能提升幅度较大,在一定程度上可以提高Dalvik虚拟机整体性能。
-
-
-