[发明专利]一种基于Dalvik虚拟机JNI机制中接口函数性能优化方法有效

专利信息
申请号: 201410177652.2 申请日: 2014-04-29
公开(公告)号: CN105183532B 公开(公告)日: 2019-02-26
发明(设计)人: 张国印;谢东良;吴艳霞;王彦彰;许圣明 申请(专利权)人: 哈尔滨工程大学
主分类号: G06F8/30 分类号: G06F8/30;G06F16/24
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 dalvik 虚拟机 jni 机制 接口 函数 性能 优化 方法
【说明书】:

发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetFieldID以及GetStaticFieldID性能优化方法。本发明包括:在目标接口函数的适当位置植入数据索引机制;获取目标数据的标识常量并调用哈希函数计算该标识常量的哈希值;根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址,否则下一步;根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。采用本发明所提供的优化技术方案对JNI机制接口函数GetFieldID、GetStaticFieldID进行优化后,当Java类中字段数据规模达到一定程度后,其性能表现将优于原接口函数,性能提升幅度较大。

技术领域

本发明涉及一种基于Dalvik虚拟机JNI机制中接口函数GetFieldID以及GetStaticFieldID性能优化方法。

技术背景

Android是由Google公司基于移动设备而开发的嵌入式系统,具有优良的性能表现以及较低的硬件配置需求,因此迅速成为目前移动终端之上的主流操作系统。这种优势的体现主要得益于Google对作为Android系统基石的Dalvik虚拟机所做出的大量优化。实际上,Dalvik虚拟机并不是一个标准的Java虚拟机,因为它并不符合标准Java虚拟机设计规范。Dalvik虚拟机是一个针对嵌入式系统中低速CPU和内存受限的等特点,经过专门设计优化而实现的Java语言虚拟机。

JNI机制的英文全称为Java Native Interface,是SUN公司所定义的一套编程框架标准接口,用于实现Java代码和本地代码互相调用的需求。本地代码是指那些使用Java语言之外的编程语言编写的代码,与本地硬件平台相关。在Android系统中,由Dalvik虚拟机实现了这套接口,供Dalvik虚拟机的Java应用与本地代码实现互相调用,使Java应用的执行效率得到了很大提高。

即便如此,在使用本地调用机制编写应用程序的时候,除了本地代码执行的高效性带来的优点之外,Dalvik虚拟机在Java代码和本地代码互相调用过程中也付出了额外的开销。尤其是当本地函数需要多次访问Java类中的同一个函数时,每次调用JNI接口函数都会执行同样的查找工作以获得对应的FieldID数据。事实上,这些重复的冗余操作是可以避免的。

发明内容

本发明的目的在于提供一种消除大量冗余查找所带来的性能消耗,进一步提高本地调用机制的执行效率的基于Dalvik虚拟机JNI机制中接口函数GetFieldID以及GetStaticFieldID性能优化方法。

本发明的目的是这样实现的:

(1)在目标接口函数的适当位置植入数据索引机制;

(2)获取目标数据的标识常量并调用哈希函数计算该标识常量的哈希值;

(3)根据哈希值在内建哈希表查找目标表项,如存在则直接返回目标数据地址,否则实施步骤(4);

(4)根据目标数据常量标识,调用原系统函数查找目标数据,如找到则将目标数据以及其标识常量的哈希值插入内建哈希表中并正确返回;否则抛出异常并返回。

所述目标接口函数适当位置是指:对于GetFieldID函数,该适当位置为GetFieldID函数调用dvmFindInstanceFieldHier函数对目标FieldID查找之前,在此处引入一个数据索引机制;对于GetStaticFieldID函数,该适当位置为GetStaticFieldID函数调用dvmFindStaticFieldHier函数对目标FieldID查找之前。

所述步骤(2)中目标数据的标识常量是指目标方法所属类的描述符、目标字段名以及签名数据;其中计算标识常量的哈希值是指,调用Dalvik虚拟机提供的哈希函数计算目标数据标识常量字符串哈希值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410177652.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top