深入理解垃圾回收器 G1

深入理解垃圾回收器 G1

  • 原文地址:
  • 原文作者:
  • 本文永久链接:
特别说明

当前文章内容迁移中,如有问题,请提交 issues 谢谢 ~~

G1 - 新生代回收

G1 新生代回收,是并行回收,一旦发生新生代回收,就会导致整个新生代被回收。即 YGC(Young GC),G1 与其他回收器不同的是

  • G1会根据预测时间动态地改变新生代的大小

  • G1老生代的垃圾回收方式与其他JVM垃圾回收器对老生代处理有着极大的不同。G1老生代的回收不会为了释放老生代的空间而对整个老生代进行回收。相反,在任意时刻只有一部分老生代分区会被回收,并且这部分老生代分区将在下一次增量回收时与所有的新生代分区一起被回收,这就是我们所说的混合回收(Mixed GC)。在选择老生代分区时,优先考虑垃圾多的分区。

回收流程

  1. 初始标记子阶段、

  2. 并发标记子阶段、

  3. 再标记子阶段

  4. 清理子阶段。

参考文章
Prev:
JVM - SATB 算法
Next:
深入理解 JVM 内存模型
Contents of this article
Contents of this article