即时编译器辅助的对象回收和空间复用

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:zxjds
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java语言采用垃圾收集器(Garbage Collector,GC)在堆上处理Java应用程序的对象分配请求并自动管理对象的回收。GC减轻了程序员管理内存的负担,但是需要耗费大量的时空开销识别堆中哪些对象是死亡的,从而成为影响Java虚拟机性能的重要因素之一。即时编译器(Just-in-time Compiler,JIT)辅助的垃圾收集技术通过由JIT分析应用程序并在其中安插显式释放对象甚至是特殊的对象分配等指令,辅助GC改进对象的回收与分配,是减轻GC自动回收负担的一种有效途径。本课题组围绕着即时编译器辅助的垃圾收集技术开展研究,前期已初步实现一个改进对象回收的原型系统,该系统只能处理单线程和规模较小的程序,并且其中的对象生命期分析算法和插桩算法的性能有待改善。本文致力于改进原有系统,重点提出一种新的对象生命期分析和插桩算法,探讨完成以下工作:1、提出一种结合活跃变量分析和指针分析的对象生命期分析算法,以获得更为精确的对象生命期信息。这种算法是过程间的、上下文敏感的,它主要分析识别应用程序中的非全局对象及其死亡位置。2、基于对象生命期分析结果,提出一种在程序中安插显式内存释放指令的插桩算法。算法基于控制流中的支配关系,通过提供不同的插桩策略来保证插桩的正确性和灵活性,能主动识别和释放已死亡的对象及其域所引用的内存空间。3、设计一种能够输出每条内存释放指令收益的日志系统。该日志系统不仅能获得垃圾收集和对象显式回收的信息,还能获得每条内存释放指令的收益信息,从而为下一步开展对象分配模式上的优化奠定了基础。4、在原有的即时编译器辅助的垃圾收集系统上实现了上述工作。其中对象生命期分析和插桩算法以一个优化遍的形式实现。改进后的系统比原有系统更高效,且能够处理多线程和规模较大程序。实验结果表明改进后的系统能够回收大量内存空间,减轻GC负担,提高内存利用率和Java应用程序的执行效率。
其他文献
中等职业教育是我国教育体系的重要组成部分,中等职业教育是提高劳动者素质、构建合理人才结构和层次、振兴经济的有效途径。近年来,尽管国家不断加大对中等职业教育的投入,
四端口机电能量变换器(FPEMC)是一种具有两个电气端口和两个机械端口的多端口机电能量转换装置。与传统电机相比,它具有更多的能量变换方式,在混合动力汽车、风力发电系统、
中国农村的改革是以家庭联产承包责任制的推行为开端的。这一经营体制的确立,极大的调动了农民的积极性,解放了农业生产力,实现了我国农业的第一次飞跃。进入20世纪90年代,我
本文以证券监管的经济学和经济法学理论为理论基础,通过比较分析一些资本市场比较发达的国家和地区的证券经纪业务监管制度,在总结我国证券经纪业务监管的历史沿革的基础上,
配电自动化是提高配电网供电可靠性、安全性以及服务质量,提高工作效率、降低运行成本的必要手段与捷径。本文在配电网自动化发展的基础上,讨论了配电自动化的故障处理模式,
金融创新是当代金融发展的重要推动力。自20世纪80年代以来,金融创新作为一次波及全球的金融改革的浪潮,给各国金融和世界经济带来了深刻的变革。但金融创新是一把“双刃剑”
中国现代学校音乐教育观念是伴随着现代美育思想的产生而形成的。从"音乐美育"到"音乐审美教育"到"以审美为核心的音乐教育"可以称为20世纪初以来中国音乐教育思想发展的脉络
近些年以来,国际市场方面的动荡加上后金融危机使很多企业明白了资金对于企业发展和经营的重要性。企业资金流的平稳和营运资金的管理是寻求发展所必须要做到的。资金运营的
高尿酸血症发生的机制为尿酸生成增多或肾脏尿酸排泄减少。目前国内外高尿酸血症模型的复制方法主要有3种 :①给予模型动物饲喂、注射次黄嘌呤 6 0 0~ 1 0 0 0mg·kg-1 、黄嘌
<正>延政发[2014]9号各县区人民政府,市政府各有关部门、各直属机构:为了加快推进企业信用体系建设,建立有利于市场经济持续健康发展的长效监管机制,现就加强企业信用监管,推