深入Garbage First垃圾收集器(三)G1中的垃圾收集

本文详细介绍了G1GC的垃圾回收过程及其三种主要的收集周期:年轻代收集周期、多级并发标记周期和混合收集周期。此外,还提到了在特定条件下触发的单线程回退全GC。

 

G1 GC在收集暂停的过程中会回收绝大部分堆分区,唯一的例外是多级并发标记期间的清除阶段。

 

在清除阶段,如果G1遇到仅仅只存放了垃圾的分区,它就会立刻收集这些分区并将它们放回空闲分区列表中,因此这些分区的释放工作就不用等到下一次垃圾收集暂停时再做了。

 

G1的垃圾收集周期有3种类型:年轻代收集周期多级并发标记周期混合收集周期

另外还有一种单线程的回退暂停full GC,它是在垃圾收集遇到转移失败情况下所采取的安全保护机制。

转移失败

 

 

 

 

在一次年轻代收集的过程中,G1会暂停应用线程,并将存活对象从年轻代eden分区移到survivor分区,或将它们提升到老年代分区,也有可能二者同时发生。

对于混合GC,G1同时还会将存活对象转移到一个或者多个空闲分区中,然后这些分区就成为了老年代的一部分。

GC效率

转载于:https://www.cnblogs.com/tuhooo/p/7541762.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值