[发明专利]一种基于Java虚拟机的延时动态对象更新方法有效
申请号: | 201210346596.1 | 申请日: | 2012-09-19 |
公开(公告)号: | CN102880490A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 马晓星;曹春;吕建;顾天晓 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 虚拟机 延时 动态 对象 更新 方法 | ||
1.一种基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,包含如下步骤:
步骤一、在动态更新中断时刻,加载新类替换旧类;
步骤二、在更新中断之后的常态运行时刻插入非法对象检测点,对非法对象进行检测;
步骤三、在常态运行时刻检测到非法对象时将其更新为非一般的新对象;
步骤四、将非一般的新对象更新为普通对象。
2.根据权利要求1所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤一的具体步骤为:
1.1) 加载新类替换旧类;
1.2) 如果需要对象更新,将旧类元数据设置为非法状态;
1.3) 如果新类对象空间增大,则创建辅助的类元数据。
3.根据权利要求2所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤1.2的具体步骤为:
1.2.1) 设置旧类元数据中的虚方法表中方法入口地址指向对象更新例程;
1.2.2) 设置旧类元数据中的接口实现信息为空;
1.2.3) 设置旧类元数据中的父类为新类。
4.根据权利要求2所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤1.3的具体步骤为:
1.3.1) 拷贝一份新类元数据,该拷贝即为辅助类元数据的雏形;
1.3.2) 设置拷贝类元数据对象大小为旧类型对象大小;
1.3.3) 设置拷贝类元数据对象引用类型域信息为仅包含能放置在旧类对象空间中的域。
5.根据权利要求1所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤二的插入非法对象检测点的具体步骤为:
2.1) 在该对象表现为父类对象时的访问前移除非法对象检测;
2.2) 进行控制流分析,消除冗余的显式非法对象检测;
2.3) 移除虚方法调用、接口方法调用处得非法对象检测,这部分检测是隐式的;
2.4) 插入剩下显式的对象检测。
6.根据权利要求1所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤三的常态运行时刻将对象更新为普通的新对象的具体步骤为:
3.1) 如果该对象需要申请新空间,则创建一个新对象,将该对象与旧对象链接起来,旧对象的类元数据更新为辅助类元数据,旧对象的状态字设置为有Mix-Object,且将申请的新对象地址编码进该状态字,形成一对未初始化的Mix-Objects;
3.2) 如果不需要申请新空间,则将旧对象的类元数据设置为新类元数据,形成一个为初始化的新对象;
3.3) 在得到的新空间上执行对象更新方法。
7.根据权利要求6所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤3.3中执行对象更新方法的编写准则是:
3.3.1) 在运行更新方法时,运行系统保证了没有其他线程对该对象访问;
3.3.2) 旧对象空间中旧类域的值会被拷贝到栈中成为局部变量,所有对旧类旧域的访问会转换为对局部变量的访问;
3.3.3) 对新类域的写入读取操作分两种情况:1)对溢出的域(必须被放在MixObjects的新对象空间中的域)需要进行一次重定向;2)对其它域则正常访问。
8.根据权利要求1所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤四的将非一般的普通新对象更新为普通对象的具体步骤为:
4.1) 当垃圾回收器要移动非一般的普通新对象Mix-Objects对象时只移动Mix-Objects中的新对象;
4.2) 将Mix-Objects中的旧对象值拷贝到新对象中;
4.3) 当对其他对象更新指向Mix-Objects的指针时,使其指向Mix-Objects新对象对应的地址。
9.根据权利要求8所述的基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,所述步骤4.3中,这里存在两次转发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210346596.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:移动终端及其软件升级方法
- 下一篇:电子控制驱动器件