【技术实现步骤摘要】
本专利技术属于计算机应用领域,具体是一种基于字节码文件重构的高效Java类在 线更新方法。
技术介绍
软件是人的脑力劳动创造出来的产物。世界上没有完美的软件,开发者也很难一 蹴而就,完成交付一个不需要改进的软件系统。软件总需要开发者对其进行不断维护,例如 bug的修复、效率的改进、功能的增强以及代码重构等。传统软件更新需要终止正在运行的软件,然后某些场合,尤其比较重要的软件系 统,终止正在运行的软件的代价很大。为此,一种在线软件更新技术就显的十分重要。基于 JVM(Java虚拟机)的软件更新系统,由于虚拟机的易于修改特性而具有很高的研究价值。在机器上运行Java程序要经过编写源码,编译源码,启动JVM加载类文件运行等 步骤。Java语言主要是由类组成,而类主要是由域和方法定义组成。在JVM加载类文件后, JVM将把读取的字节码文件映射成相应的运行时刻元数据。这是对二进制文件在运行时刻 的第一层处理。当需要执行方法时,JVM会调用他的在线编译器将字节码编译成相应机器 码,CPU读取这些机器指令执行相应功能。JVM会在内存分配的堆区中创建对象,对象对应 的类型信息和 ...
【技术保护点】
一种基于字节码文件重构的Java类在线更新方法,其特征在于包含以下步骤:1)分析新旧版本程序中二进制字节码文件,找出类更新、类方法体更新、类引用方法更新所针对的类;2)根据分析结果在运行时刻找寻合适的更新点;3)在运行时刻,根据类发生的更新,对其做相应的更新操作,具体为:3.1)对于类更新的类,将新类替换旧类;3.2)对于类方法体更新的类,将其定义的方法重新读取并初始化可用;3.3)对于类引用方法更新的类,将存在相应引用的方法重新编译;4)将堆区中类型改变的类实例转换成新类型实例。
【技术特征摘要】
【专利技术属性】
技术研发人员:曹春,马晓星,吕建,
申请(专利权)人:南京大学,
类型:发明
国别省市:84[中国|南京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。