文件名称:Java虚拟机中冷对象的研究_骆凡.caj
文件大小:1.12MB
文件格式:CAJ
更新时间:2022-09-04 10:21:34
java
java 作为现在用户最多,使用最为广泛的技术,主要是由于一个大大降低开发成 本的优点:它是运行在 java 虚拟机上的,而 java 虚拟机隐藏了底层硬件的复杂性和 操作系统的差异性,能在各种不同的物理机上面建立统一的运行环境,实现了一次编 译,处处运行的目的。这使得程序员能够把主要精力放在具体的业务逻辑上,使得工 作更加有效率。而同样是为了提高工作效率, java 虚拟机提供了一个强大的内存管理 功能,由于其中包括了垃圾回收功能, java 程序员不再需要像 c/c++ 程序员一样去进 行内存空间回收的处理。但也正是因为这样的原因,虚拟机扮演如此重要的角色,所 以虚拟机的优化变成了一个很重要的问题。 许多 Java 应用程序在 Java 堆中实例化的对象是持久的,但几乎从来不被应用程 序引用。例子包括字符串 , 错误消息 , 和对象集合,它们为了快速访问而进行预加载 , 但它们可能包括很少被引用的对象。通过建立活跃性映射表去跟踪堆对象中的引用活 跃性,将其与设定的 t cold 相比较确定冷对象来对内存对象进行评估和识别,建立的访 问模型更加适合长时间运行的有着大量堆对象需求的应用程序。 本文描述了一个基于堆栈框架 , 用于在运行时检测这些 “ 冷 ” 对象 , 以便在堆的指定 区域封装和隔离它们 , 它们可能优先调出到一个后备存储器 , 从而释放物理内存页以容 纳更多的活跃对象。此外 , 评估堆栈的正确性和效率通过一个访问障碍。该实验结果 以一系列 SPECjvm2008 的基准表示出来。根据不同的标准测试得垃圾回收小效率有 2%-5% 的提升。