[发明专利]一种Java本地接口一致性检查方法及系统、存储介质及终端有效
申请号: | 201910497314.X | 申请日: | 2019-06-10 |
公开(公告)号: | CN110275710B | 公开(公告)日: | 2023-07-14 |
发明(设计)人: | 王全福;张璐波;谢巍盛;马骏杰 | 申请(专利权)人: | 天翼电子商务有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/30 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 徐秋平 |
地址: | 102200 北京市昌平*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 本地 接口 一致性 检查 方法 系统 存储 介质 终端 | ||
1.一种Java本地接口一致性检查方法,其特征在于,包括以下步骤:
在编译阶段引入记录函数的JNI参数信息的插件;所述插件记录函数的JNI参数信息,并建立基于函数名到JNI参数信息的索引;
在Native库生成过程中,由所述插件对生成的Native库进行修改,以使所述Native库中增加所述JNI参数信息;由所述插件对生成的Native库进行修改时,在Native库中增加一个段,并将所述JNI参数信息记录到所述段中;
JVM运行时,在JNI动态链接过程中,比较Native中的JNI参数信息和Java中的JNI参数信息是否一致,并在一致时通过所述JNI动态链接;JNI动态链接过程中,首先基于函数名到JNI参数信息的索引,在JNI动态链接过程中根据函数名获取对应的Native中的JNI参数信息;然后比较Native中的JNI参数信息和Java中的JNI参数信息是否一致。
2.根据权利要求1所述的Java本地接口一致性检查方法,其特征在于:当Native中的JNI参数信息和Java中的JNI参数信息不一致时,立即抛出异常。
3.一种Java本地接口一致性检查系统,其特征在于,包括引入模块、修改模块和检查模块;
所述引入模块用于在编译阶段引入记录函数的JNI参数信息的插件;所述插件记录函数的JNI参数信息,并建立基于函数名到JNI参数信息的索引;
所述修改模块用于在Native库生成过程中,由所述插件对生成的Native库进行修改,以使所述Native库中增加所述JNI参数信息;由所述插件对生成的Native库进行修改时,在Native库中增加一个段,并将所述JNI参数信息记录到所述段中;
所述检查模块用于JVM运行时,在JNI动态链接过程中,比较Native中的JNI参数信息和Java中的JNI参数信息是否一致,并在一致时通过所述JNI动态链接;JNI动态链接过程中,首先基于函数名到JNI参数信息的索引,在JNI动态链接过程中根据函数名获取对应的Native中的JNI参数信息;然后比较Native中的JNI参数信息和Java中的JNI参数信息是否一致。
4.根据权利要求3所述的Java本地接口一致性检查系统,其特征在于:所述检查模块还用于当Native中的JNI参数信息和Java中的JNI参数信息不一致时,立即抛出异常。
5.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至2中任一项所述的Java本地接口一致性检查方法。
6.一种终端,其特征在于,包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至2中任一项所述的Java本地接口一致性检查方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼电子商务有限公司,未经天翼电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910497314.X/1.html,转载请声明来源钻瓜专利网。