本系列文章由作者
@hunter129翻译,转载请注明出处。
准备发一系列帖子,主要介绍java的内存管理机制。
主要内容是对sun的内存管理白皮书《Memory Management in the Java HotSpot™ Virtual Machine》的翻译,也会加上自己的理解。
英文不好,我慢慢翻译,大家慢慢看。当然可以去看原版,作为附件上传了。
这是第一篇帖子,主要内容是白皮书的第一章,对整篇文档的介绍。
第一章 介绍
Java的一个长处就是提供了自动内存管理机制,因此屏蔽了开发人员进行直接内存管理的复杂性。这篇文章提供了一个针对J2SE 5内存管理的概览。描述了垃圾收集器(garbage collectors)如何有效的进行内存管理,并给出了一些关于收集器的选择和收集器运行时内存区域大小配置的建议。这篇文章还列出了影响垃圾收集器(garbage collector)行为最常用的选项,并且提供了很多详细文档的链接,因此本文可以作为参考资料使用。
第二章为初学者介绍自动内存管理的概念。本章会简单的讨论一下自动内存管理和程序员直接内存管理。
第三章整体介绍了垃圾收集的概念、设计决策和性能度量。同时,介绍了基于对象生命周期的分代内存管理机制,这是一种常用的内存组织方式。这种方法已经被证明在减少垃圾收集暂停时间、很宽泛应用范围内的整体消耗方面很有效。
剩下的部分是针对HotSpot JVM(译注,HotSpot JVM是Sum/Oracle 开发的一种JVM,其他的还有BEA/Oracle的JRockit,IBM的J9 VM等)的内容。
第四章介绍了4钟垃圾收集器,其中一个是在J2SE 5.0 update6中增加的,并且描述了分代的内存组织。对于每种垃圾收集器,简要描述他们使用的算法类型和调优参数。
第五章描述了一种在J2SE 5.0提供的新技术,它会根据应用系统运行的平台和操作系统自动选择垃圾收集器和堆大小,并根据用户行为动态进行垃圾收集优化。这种技术称为功效学(ergonomics)。
第六章给出了一些垃圾收集器的选择和配置的推荐配置,同时也提供了一些处理OutOfMemoryError错误的建议。
第七章简要描述了一些用于垃圾收集性能(garbage collection performance)评估的工具。
第八章列出了用于控制垃圾收集器的选择和行为最常用的命令行参数。
最后,第九章提供了更多涉及这篇文章内容的详细文档。
附件请移步金山快盘下载:
http://www.kuaipan.cn/file/id_60654657730512059.htm