Day 13 G1和ZGC

2022-03-21  本文已影响0人  小周爱吃瓜

G1 不再专门为年轻代和老年代分区。用的是region.

Screen Shot 2022-03-21 at 6.44.44 PM.png

标记流程可以分为

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

Screen Shot 2022-03-21 at 6.50.30 PM.png

ZGC:

jdk11引入zgc收集器,不论是物理还是逻辑,都不存在新老年代的概念了,会分为一个个page,gc时对其进行压缩,因此没有碎片的问题。

吹一波:
停顿时间短: 10ms以内
TB级别内存

Screen Shot 2022-03-21 at 6.52.39 PM.png

用到了读屏障和颜色指针.

在ZGC中,会对加载的引用进行测试,看是否设置了某些位.
ZGC的标记使用的是染色指针技术.

与标记对象的传统算法相比,ZGC在指针上做标记,在访问指针时加入LoadBarrier(读屏障),比如当对象正被GC移动,指针上的颜色就会不对.
读屏障就会先把指针更新为有效地址再返回,也就是,永远只有单个对象读取时有概率被减速,而不存在为了保持应用与GC一致而粗暴整体的StopTheWorld

上一篇 下一篇

猜你喜欢

热点阅读