当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于Java虚拟机的延时动态对象更新方法技术

技术编号:8215512 阅读:342 留言:0更新日期:2013-01-17 12:55
本发明专利技术公开了一种基于Java虚拟机的低中断延时动态对象更新方法,包含如下步骤:1)在动态更新中断时刻,加载新类替换旧类;将旧类元数据设置为非法状态;2)如果新类对象空间增大,则创建辅助的类元数据;3)在更新中断之后的常态运行时刻插入非法对象检测点,对非法对象进行检测;4)在常态运行时刻检测到非法对象时将其更新为非一般的新对象;5)将非一般的新对象更新为普通对象。该方法在对Java程序进行动态更新时对象更新的操作延迟到更新中断以后的常态运行时刻进行,以减少动态更新对系统的中断时间,提高更新的效率。

【技术实现步骤摘要】

本专利技术属于计算机应用领域,具体是一种基于Java虚拟机的低中断的延时动态对象更新方法。
技术介绍
Java是一种面向对象语言。运行中的Java程序可以看做是由对象以及对象之间的交互组成。Java程序的动态更新可以看做是对对象的更新。Java虚拟机按照对象模型去实现对象,每一个对象都包含两个字的对象头。一个对象头字用于存储一些状态信息,例如对象锁的状态,垃圾回收标志,哈希值等。另一个对象头字存储指向与该对象类型相关的运行时刻类元数据,运行时刻的动态类型检查、虚方 法调用、接口方法调用等都是通过这个类元数据获得具体的动态信息。当前很多基于Java虚拟机动态更新系统并不能够支持对对象的更新,例如Hotspot JVM的Hotswap机制。一些系统虽然能够对对象进行更新但是存在一些不足的地方,例如需要进行遍历堆区中的所有对象,造成很大的更新中断时间。这些系统采用即时的对象更新方法,利用垃圾回收协助对象更新,进行一次全堆区的垃圾回收,加上执行自定义对象更新方法,造成系统中断时间比较长,可能会导致额外的损失。动态更新的操作需要中断当前系统,安装新的类,之后对对象进行更新。动态对象更新时需要本文档来自技高网...

【技术保护点】
一种基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,包含如下步骤:步骤一、在动态更新中断时刻,加载新类替换旧类;步骤二、在更新中断之后的常态运行时刻插入非法对象检测点,对非法对象进行检测;步骤三、在常态运行时刻检测到非法对象时将其更新为非一般的新对象;步骤四、将非一般的新对象更新为普通对象。

【技术特征摘要】

【专利技术属性】
技术研发人员:马晓星曹春吕建顾天晓
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1