【技术实现步骤摘要】
本专利技术属于计算机应用领域,具体是一种基于Java虚拟机的低中断的延时动态对象更新方法。
技术介绍
Java是一种面向对象语言。运行中的Java程序可以看做是由对象以及对象之间的交互组成。Java程序的动态更新可以看做是对对象的更新。Java虚拟机按照对象模型去实现对象,每一个对象都包含两个字的对象头。一个对象头字用于存储一些状态信息,例如对象锁的状态,垃圾回收标志,哈希值等。另一个对象头字存储指向与该对象类型相关的运行时刻类元数据,运行时刻的动态类型检查、虚方 法调用、接口方法调用等都是通过这个类元数据获得具体的动态信息。当前很多基于Java虚拟机动态更新系统并不能够支持对对象的更新,例如Hotspot JVM的Hotswap机制。一些系统虽然能够对对象进行更新但是存在一些不足的地方,例如需要进行遍历堆区中的所有对象,造成很大的更新中断时间。这些系统采用即时的对象更新方法,利用垃圾回收协助对象更新,进行一次全堆区的垃圾回收,加上执行自定义对象更新方法,造成系统中断时间比较长,可能会导致额外的损失。动态更新的操作需要中断当前系统,安装新的类,之后对对象进行更新 ...
【技术保护点】
一种基于Java虚拟机的低中断延时动态对象更新方法,其特征在于,包含如下步骤:步骤一、在动态更新中断时刻,加载新类替换旧类;步骤二、在更新中断之后的常态运行时刻插入非法对象检测点,对非法对象进行检测;步骤三、在常态运行时刻检测到非法对象时将其更新为非一般的新对象;步骤四、将非一般的新对象更新为普通对象。
【技术特征摘要】
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。