Java教程

Java垃圾回收(二)老年代垃圾收集器

本文主要是介绍Java垃圾回收(二)老年代垃圾收集器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

常见老年代垃圾收集器:

SerialOld收集器:

单线程收集,暂停其他线程,简单高效,Client下默认老年代收集器(-XX:UseSerialOldGC,标记-整理算法

 

ParallelOld收集器:

多线程,吞吐量优先(-XX:UseParallelOldGC,标记-整理算法

 

CMS收集器:

尽可能的减少了停顿时间,并发几乎能与用户线程同时工作,内存cpu硬性条件高有优势,需要短暂stop-the-world。注意算法会生产碎片(-XXUseConcMarkSweepGC,标记-清除算法)
它的使用率比较高.
1. 初始标记: stop-the-world(需要短暂的stop-the-world)
2. 并发标记:并发追溯标记, 程序不会停顿
3. 并发预清理: 查找执行并发标记记阶段从年轻代晋升到老年代的对象
4. 重新标记: 暂停虚拟机, 扫描CMS堆中的剩余对象(需要短暂的stop-the-world)
5.并发清理: 清理垃圾对象, 程序不会停顿
6. 并发重置: 重置CMS收集器的数据结构

 

这篇关于Java垃圾回收(二)老年代垃圾收集器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!