本文共 693 字,大约阅读时间需要 2 分钟。
Serial收集器(复制算法)
单线程收集,进行垃圾收集时,必须暂停所有的工作线程 简单高效,Cilent模式下默认的年轻代收集器 ParNew收集器(复制算法) 多线程收集,其余行为和Serial一样 单核执行效率不如Serial,再多核下执行才有优势 Parallel Scavenge收集器(复制算法) 吞吐量 = 运行用户代码时间/(运行用户代码时间+垃圾收集时间) 比起关注用户线程停顿时间,更关注系统吞吐量 在多核下执行才有优势,Server模式下默认的年轻代收集器Serial Old收集器(标记-整理算法)
单线程收集,进行垃圾收集时,必须暂停所有的工作线程 简单高效,Cilent模式下默认的老年代收集器 Parallel Old收集器(标记整理算法)JDK6之后提供 比起关注用户线程停顿时间,更关注系统吞吐量 CMS收集器(标记-清除算法) 初始化标记:stop-the-world 并发标记:并发追溯标记,程序不会停顿 并发预处理:查找执行并发标记阶段从年轻代晋升到老年代的对象 重新标记:暂停虚拟机,扫描CMS堆中的剩余对象 并发清理:清理垃圾对象,程序不会停顿 并发重置:重置CMS收集器的数据结构并发和并行
分代收集 空间整合 可预测的停顿 将整个Java堆划分为多个大小相等的Region 年轻代和老年代不在物理隔离转载地址:http://yrqen.baihongyu.com/