G1垃圾收集器

G1中提供了三种模式垃圾回收模式,Young GC、Mixed GC 和 Full GC,在不同的条件
下被触发
Young GC
Young GC主要是对Eden区进行GC,它在Eden空间耗尽时会被触发。
Eden 空间的数据移动到Survivor空间中,如果Survivor空间不够,Eden空间的部分
数据会直接晋升到年老代空间。
Survivor 区的数据移动到新的Survivor区中,也有部分数据晋升到老年代空间中。
最终 Eden空间的数据为空,GC停止工作,应用线程继续执行。
在这里插入图片描述
在这里插入图片描述
Remembered Set(已记忆集合)
在GC年轻代的对象时,我们如何找到年轻代中对象的根对象呢?
根对象可能是在年轻代中,也可以在老年代中,那么老年代中的所有对象都是根么?
如果全量扫描老年代,那么这样扫描下来会耗费大量的时间。
于是,G1引进了RSet的概念。它的全称是Remembered Set,其作用是跟踪指向某个堆
内的对象引用
在这里插入图片描述
每个 Region初始化时,会初始化一个RSet,该集合用来记录并跟踪其它Region指向该
Region中对象的引用,每个Region默认按照512Kb划分成多个Card,所以RSet需要记录
的东西应该是 xx Region的 xx Card
Mixed GC
当越来越多的对象晋升到老年代old region时,为了避免堆内存被耗尽,虚拟机会触发一
个混合的垃圾收集器,即Mixed GC,该算法并不是一个Old GC,除了回收整个Young
Region,还会回收一部分的Old Region,这里需要注意:是一部分老年代,而不是全部
老年代,可以选择哪些old region进行收集,从而可以对垃圾回收的耗时时间进行控制。
也要注意的是Mixed GC 并不是 Full GC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值