[发明专利]一种虚方法的调用方法、电子设备及计算机可读存储介质有效

专利信息
申请号: 202110878229.5 申请日: 2021-08-02
公开(公告)号: CN113326041B 公开(公告)日: 2021-11-02
发明(设计)人: 陆舟;于华章 申请(专利权)人: 飞天诚信科技股份有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F9/455
代理公司: 暂无信息 代理人: 暂无信息
地址: 100085 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 方法 调用 电子设备 计算机 可读 存储 介质
【权利要求书】:

1.一种虚方法的调用方法,适用于Java卡,其特征在于,包括如下步骤:

步骤101:Java卡根据虚方法调用指令在常量池中获取拟被调用虚方法,从所述拟被调用虚方法中获取拟被调用虚方法当前所属的类的引用和拟被调用虚方法的索引,根据所述拟被调用虚方法当前所属的类的引用确定拟被调用虚方法当前所属的类的地址;

步骤102:所述Java卡从虚拟机运行栈中获取对象引用,以所述对象引用为索引在保存的对象表中获取对象数据,从所述对象数据中获取对象实际类所属的包的标识和对象实际类的引用,根据所述对象实际类所属的包的标识和所述对象实际类的引用得到对象实际类的地址;

步骤103:所述Java卡判断拟被调用虚方法当前所属的类的地址与对象实际类的地址是否相同,如果是,执行步骤109,否则,根据拟被调用虚方法当前所属的类的地址和对象实际类的地址建立链表,执行步骤104;

步骤104:所述 Java卡判断所述链表中是否存在拟被调用虚方法当前所属的类的直接子类的地址,如果是,执行步骤105,否则,执行步骤107;

步骤105:所述Java卡判断拟被调用虚方法当前所属的类的直接子类的虚方法映射表中是否存在拟被调用虚方法的索引,如果是,执行步骤106,否则,执行步骤107;

步骤106:所述Java卡将拟被调用虚方法当前所属的类的地址设置为所述拟被调用虚方法当前所属的类的直接子类的地址,将拟被调用虚方法的索引设置为拟被调用虚方法在拟被调用虚方法当前所属的类的直接子类的虚方法映射表中的索引,返回步骤104;

步骤107:所述Java卡判断拟被调用虚方法当前所属的类的虚方法表中是否存在所述拟被调用虚方法的索引,如果是,执行步骤109,否则,执行步骤108;

步骤108:所述Java卡从拟被调用虚方法当前所属的类中获取拟被调用虚方法当前所属的类的父类的引用,根据拟被调用虚方法当前所属的类的父类的引用确定所述拟被调用虚方法当前所属的类的地址,根据所述拟被调用虚方法当前所属的类的地址获取所述拟被调用虚方法当前所属的类,返回步骤107;

步骤109:所述Java卡根据所述拟被调用虚方法的索引从所述拟被调用虚方法当前所属的类的虚方法表中获取实际被调用虚方法的地址;

所述虚方法映射表中包括所述虚方法映射表所属的类从所述虚方法映射表所属的类的父类继承的虚方法的索引,还包括所述虚方法映射表所属的类包含的虚方法的索引。

2.如权利要求1所述的方法,其特征在于,所述Java卡根据虚方法调用指令在常量池中获取拟被调用虚方法,具体为:所述Java卡从所述虚方法调用指令中获取指令操作数,以所述指令操作数为索引在常量池中获取拟被调用虚方法。

3.如权利要求2所述的方法,其特征在于,所述以所述指令操作数为索引在常量池中获取拟被调用虚方法,具体包括:

步骤A1:所述Java卡从内存的全局变量中获取包信息地址列表的地址和拟被调用虚方法所属的包的标识,根据所述包信息地址列表的地址和所述拟被调用虚方法所属的包的标识获取所述拟被调用虚方法所属的包的常量池组件信息;

步骤A2:所述Java卡解析所述拟被调用虚方法所属的包的常量池组件信息得到常量池地址,获取所述常量池地址对应的数据得到常量池组件,以所述指令操作数为索引在所述常量池组件中获取所述拟被调用虚方法。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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