大范围的垃圾收集会占用大量的资源和时间,可能会导致暂停和无法满足实时系统的要求。因此,使用渐进式的收集算法。
火车算法是为了在成熟对象空间提供限度时间的渐进收集。
车厢,火车和火车站
火车算法把成熟对象空间划分为固定长度的内存块,算法每次在一个块中单独执行。每个块属于一个集合。
块被叫车厢,集合被叫做火车,成熟对象空间是火车站。
火车被排序,块被附加到火车的尾部。
这种方式表示出了成熟对象空间内所有块的总体排序。
车厢收集
火车算法执行的时候,要么收集最小数字火车中的最小数字车厢,要么收集整个最小数字火车。
如果整个火车都是垃圾对象,那么整个火车都被收集。否则,收集最小数字车厢。
收集最小数字车厢时,如果发现该车厢内部有被其他车厢引用对象则会转移到引用的车厢,如此循环,最后收集整个车厢。
收集最小数字火车时,如果发现该火车内有被其他火车引用对象则会转移到引用的火车,如此循环,最后收集整个火车。
记忆集合和流行对象
为了促进收集过程,火车算法使用了记忆集合。一个记忆集合是一个数据结构,包含所有对一节车厢或者一列火车的外部引用。一个空的记忆集合表明车厢或者火车中的对象都不再被车厢或者火车外的任何变量引用,可以被垃圾收集。
- 大小: 3.6 KB
- 大小: 3.9 KB
- 大小: 3.9 KB
分享到:
- 2009-01-04 21:50
- 浏览 2057
- 评论(0)
- 论坛回复 / 浏览 (0 / 2076)
- 查看更多
相关推荐
第9章 垃圾收集 9.1 为什么要使用垃圾收集 9.2 垃圾收集算法 9.3 引用计数收集器 9.4 跟踪收集器 9.5 压缩收集器 9.6 拷贝收集器 9.7 按代收集的收集器 9.8 自适应收集器 9.9 火车算法 9.9.1 ...
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
3. **垃圾收集与内存管理**:Java虚拟机中的垃圾收集机制是自动进行内存管理的关键。书里介绍了不同的垃圾收集算法(如标记-清除、复制、标记-整理、分代收集等)以及垃圾收集器(如Serial、ParNew、CMS、G1等),...
《深入JAVA虚拟机 不那么完美的第二版》这本书虽然在印刷上可能存在一些小瑕疵,但这并不影响我们从中汲取宝贵的Java虚拟机(JVM)知识。Java虚拟机是Java平台的核心组成部分,它负责执行Java程序,提供了跨平台的...
《深入Java虚拟机第二版》是一本深受Java开发者喜爱的经典著作,它详尽地剖析了Java虚拟机(JVM)的工作原理,为程序员提供了深入了解Java平台核心机制的机会。随书光盘包含了书中提及的各种示例代码、实验数据以及...
《深入JAVA虚拟机第二版》是一本专注于Java虚拟机(JVM)的权威指南,针对JVM的深入了解和优化提供了详尽的解析。这本书对于Java开发者、系统管理员以及对Java性能调优感兴趣的读者来说,是不可或缺的参考资料。下面...
深入java虚拟机第二版 第1章 Java体系结构介绍 1.1 为什么使用Java 1.2 网络带来的挑战和机遇 1.3 体系结构 1.3.1 Java虚拟机 1.3.2 类装载器的体系结构 1.3.3 Java class文件 1.3.4 Java API 1.3.5 ...
《深入Java虚拟机(带目录+清晰+光盘) 第二版》是Java开发者们不可或缺的一本技术宝典。本书全面、深入地探讨了Java虚拟机(JVM)的工作原理和内部机制,对于理解Java程序的运行性能以及优化代码具有极其重要的价值。...
《深入Java虚拟机》是Java开发者必读的经典之作,由Bill Venners撰写。这本书以其深入浅出的方式,详尽地解析了Java虚拟机(JVM)的工作原理和内部机制,帮助开发者提升对Java程序运行时环境的理解,从而能够编写出...
《深入Java虚拟机源码》一书主要涵盖了Java虚拟机(JVM)的内部工作原理,包括类加载机制、内存管理、字节码执行引擎、垃圾收集算法、编译优化等多个核心主题。以下是对这些章节内容的详细阐述: 1. **第3章:类...
《深入JAVA虚拟机第二版》是一本专注于Java虚拟机(JVM)的权威指南,它为读者揭示了Java编程语言背后的运行机制。本书是Java开发者深入理解平台内部工作原理的必备读物,无论你是初学者还是经验丰富的开发人员,都...
第1~~3章介绍了Java虚拟机的定义、总体架构、常用配置参数。第4~~5章介绍了垃圾回收的算法和各种垃圾回收器。第6章介绍了虚拟机的性能监控和故障诊断工具。第7章详细介绍了对Java堆的分析方法和案例。第8章介绍了...
第9~10章介绍了Java虚拟机的核心——Class文件结构,以及Java虚拟机中类的装载系统。第11章介绍了Java虚拟机的执行系统和字节码,并给出了通过ASM框架进行字节码注入的案例。, 《实战Java虚拟机——JVM故障诊断与...
《深入理解Java虚拟机:JVM高级特性与最佳实践》是一部经典的Java技术书籍,它全面地探讨了Java虚拟机(JVM)的工作原理及其优化策略。本书主要涵盖了以下几个核心知识点: 1. **JVM架构**:Java虚拟机是Java程序...
在Java虚拟机第二版中,我们可以深入探讨以下几个关键知识点: 1. **字节码与类加载机制**:Java程序编译后生成的是.class文件,里面包含的是字节码。JVM通过类加载器将这些字节码加载到内存中,进行验证、准备、...
- **第9章:垃圾收集** - 介绍了JVM中垃圾回收的工作原理以及不同的垃圾回收算法。 - **第10章:栈和局部变量操作** - 讲解了栈帧的结构、局部变量表的作用域及生命周期。 - **第11章:类型转换** - 涵盖了Java中...
《深入Java虚拟机第二版》是一本专注于Java技术体系中核心部分——Java虚拟机(JVM)的权威著作。这本书全面、深入地探讨了JVM的内部工作机制,为开发者提供了理解并优化Java程序运行性能的宝贵知识。在阅读这本书的...