对象生命期分析及其应用研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:dk_wow
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Java语言使用垃圾收集器自动回收无用对象的内存单元,造成Java语言相较于C++等其它面向对象语言运行效率低。因此,有必要通过优化对象内存空间管理模式,提高Java虚拟机的运行性能。 对象生命期分析为Java语言对象内存空间管理模式的优化提供了基本的依据,其通过对程序进行分析获得程序中对象的生命期信息。逃逸分析是获得对象生命期信息的一种重要的分析手段,但其获得的信息不够精确,不能很好地辅助对象内存空间管理优化工作的进行。 为了解决上述问题,本文提出了一种基于逃逸分析的对象生命期分析方法,并以其为基础实现了一种对象内存空间管理模式的优化应用:JIT(Just-in-time Compiler)辅助GC(Garbage Collector)优化应用。围绕着对象生命期分析和JIT辅助GC优化应用,本文重点探讨并完成了以下工作: 1.提出一种基于逃逸分析的对象生命期分析算法,以获得更为精确的对象生命期信息。 本文提出了一种基于逃逸分析的、增量式、过程间的对象生命剜分析,结合过程内与过程间的分析算法,分析非全局对象的生命期信息。 2.扩展即时编译器高级中间表示指令集及相关解析操作以支持代码变换。 为实现代码优化变换,在即时编译器高级中间表示指令集上增加支持对象显式回收的指令。在低级中间表示层甚至更底层实现对这些扩展指令的解析。 3.利用对象生命期分析结果设计并实现代码变换策略。 基于对象生命期分析提供的分析结果,实现在高级中间表示层进行的代码变换,旨在适当的程序点处插入死亡对象的回收操作并保证运行时执行。 4.结合即时编译器流水线体系结构,以优化遍的形式实现分析和变换。 我们在Apache Harmony的即时编译器中以优化遍的形式实现了对象生命期分析和JIT辅助GC的优化应用。实验结果表明,分析较为精确地计算出局部对象的生命期信息,JIT辅助GC比普通的GC更具高效性。
其他文献
网格技术是当前计算机发展的一个重要方向,它把地理上分布的、异构的资源连接起来集成一个有机的整体,给用户提供一种新型的计算平台,它使得虚拟组织之间实现大规模的资源共
随着科学技术的迅猛发展以及技术创新与知识创新过程的复杂化,人们对复杂系统研究日益关注和重视。许多问题是不可能单靠个人来解决的,问题的解决可能需要许多人的参与,尤其是各
随着Internet的飞速发展和Web信息量迅速膨胀,用户在获取感兴趣的信息时花费越来越多的时间。搜索引擎以及各种专业的搜索系统的出现,为人们查找信息减轻了一定的负担,但是这些
QoS作为系统的非功能性需求,对于任何一个应用系统而言,都是其取得成功的一个关键方面:不管它们基于何种技术,只有那些能够增加其用户满意度的系统才能得到用户接受。 目前关
随着Web服务标准的完善和支持Web服务平台的成熟,互联网上可用的服务越来越多,由此产生了大量基于Web服务的应用,然而现有的服务大多是单个的,提供的功能非常有限。为了更加
智能规划与规划识别是人工智能研究领域中一个很重要的方向。规划识别是指规划识别器根据观察到的智能体(一个或多个)的片断的、琐碎的动作,推导出智能体将要执行的动作和欲
冠心病是目前危害人类健康的主要疾病之一,而冠状动脉造影术是临床诊治冠心病的主要依据之一。随着技术的发展,近些年兴起的旋转冠状动脉造影术存在多种优势,也使得三维冠状
目前,随着万维网上信息量的爆炸性增长,搜索引擎已日益成为人们获取各种信息的重要工具。针对通用搜索引擎的缺陷,一种结合领域知识和智能技术的垂直搜索引擎应运而生,该工具并非
Ad HoG网络是由一组带有无线收发装置的移动节点所组成的一个临时性多跳自治系统,在军事和民用方面具有广阔的应用前景。网络的快速发展要求当前网络既能传送常规的“尽力传输
一个“智能”的系统必须能够感知,规划和控制,只有具备了上述能力的系统才能够完成不平凡的任务。在这篇文章中,我们讨论了这样一个系统:一个在动态环境中基于自身传感器工作的四