G1 对于 CMS 到底做了哪些优化

G1 垃圾收集器

对于 CMS 来说 G1 究竟改进了什么呢?

  1. 区域块级化,增加 H 区 。(大对象,巨型对象区)
  2. 优化垃圾回收清理阶段的逻辑。
  3. 由用户控制最大 STW 时间,优化用户体验。

G1 的垃圾回收过程为

初始标记 -> 并发标记 -> 最终标记 -> 筛选回收

其中最重要的改变是筛选回收过程变为 STW

而且为什么叫做筛选回收呢,它维护一个优先级列表 根据用户设置的最大 STW 时间 选取回收收益最大的 Region 区域进行回收,也就是可能每次的垃圾回收是不一定能完全回收掉所有垃圾的。

同时因为区域块级化,G1 在回收的时候会采用标记复制的算法进行回收(年轻代回收和老年代回收都是) 这样大大的提高了回收的效率,同时又因为它的块级区即 Region 区是不固定死年代划分的,所以整体看来相当于标记整理算法,没有内存碎片。这是相对于 CMS 标记清除的一大优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dying 搁浅

两杯酒,一杯敬你余生多欢喜。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值