G1垃圾收集器原理过程学习

G1全称Garbage First。是当前收集器技术发展最前沿成果之一。

GC算法:标记整理

概念:分区region

G1收集器将整个java堆分成很多大小相同的region,新生代和老年代不再是物理隔阂,而是部分region的集合。

处理过程

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

1、初始标记

仅仅是标记GC Roots能直接关联的对象,速度很快。stop the word。

2、并发标记

从GC Roots出发,对堆中对象进行可达性分析,找出存活对象,该阶段耗时较长,但是可与用户线程并发执行。

3、最终标记

主要修正在并发标记阶段因为用户线程继续运行而导致标记记录产生变动的那一部分对象的标记记录。stop the word。

4、筛选阶段

将各个region分区的回收价值和成本进行排序,根据用户所期望的停顿时间制定回收计划。这阶段停顿用户线程。stop the word。

 优缺点

 优点:

1、并行并发

2、分代收集,可以采用不同的算法处理不同的对象。

3、空间整合。标记整理算法意味着不会产生内存碎片。

4、可预测的停顿时间。

为什么可预测?因为G1避免了整个java堆的全区域收集。G1会统计每个region的回收价值和成本,维护一个优先列表,优先回收价值最大的region。这样可以保证在有限的时间内,获得最大的回收效率。

缺点:还不够成熟,还没有经过真正的实际考验。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值