码迷,mamicode.com
首页 > 编程语言 > 详细

Java 垃圾回收之老年代垃圾回收器

时间:2020-01-11 20:33:57      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:特点   stop   数据结构   初始   png   cli   程序   idt   必须   

Serval Old收集器(-XX:+UseSerialOldGC, 标记-整理算法)

单线程收集,进行垃圾收集时,必须暂停所有工作线程

简单高效,Client模式下默认的老年代收集器

技术图片

 

 

 

Parallel Old收集器(-XX:+UseParallelOldGC, 标记-整理算法)JDK 6后提供

多线程,吞吐量优先

技术图片

 

 

 

CMS收集器(-XX:+UseConcMarkSweepGC,  标记-清除算法)

分为以下阶段

初始标记:stop-the-world

并发标记: 并发追溯标记,程序不会停顿

并发预清理: 查找执行并发标记阶段从年轻代晋升到老年代的对象

重新标记: 暂停虚拟机,扫码CMS堆中的剩余对象

并发清理: 清理垃圾对象,程序不会停顿

并发重置:重置CMS收集器的数据结构

这六个步骤中,初始标记和重新标记,会有短暂的stop-the-world

技术图片

 

 

 

G1收集器(-XX:+UseG1GC, 复制+标记-整理算法)(年轻代和老年代都能用)

Garbage First 收集器的特点

并发和并行

分代收集

空间整合

可预测的停顿

 

将整个Java堆内存划分为多个大小相等的Region

年轻代和老年代不再物理隔离

技术图片

 

Java 垃圾回收之老年代垃圾回收器

标签:特点   stop   数据结构   初始   png   cli   程序   idt   必须   

原文地址:https://www.cnblogs.com/linlf03/p/12180856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!