首页   快速返回

ZGC简单介绍     所属分类 java 浏览量 13
ZGC 一个可伸缩低延迟的垃圾回收器

主要特点
能把回收时间控制在10ms以内,而且不受堆大小的影响,支持TB级别的垃圾回收。

ZGC和G1类似,把整个堆分成多个region

一次完整的 ZGC 回收周期分为以下几个阶段(Phase)

Pause Mark Start 标记根对象

Concurrent Mark 并发标记阶段

Concurrent Relocate 并发重定位 

活动对象被移动到新的 Heap Region B-region 中,之前旧对象所在的 Heap Region A-region 即可复用;
B-region 中对象之间的引用关系将会在这一阶段被更新;
在重定位过程中,新旧对象的映射关系(同一对象在不同 Region 中的映射关系)被记录在了 Forwarding Tables 中。


Pause Mark Start
这个阶段实际上已经进入了新的 ZGC Cycle,同样也是标记根对象;

Concurrent Remap
并发重映射 这个阶段除了标记根对象直接引用的对象外,还会根据上个 ZGC Cycle 中生成的 Forwarding Tables 更新跨 Heap Region 的引用;

Pause Mark Start 阶段进行根对象扫描(Root Scanning)时会出现短暂的暂停。

上一篇     下一篇
docker commit命令使用

使用Dockerfile定制镜像

GC性能度量指标

docker常用命令

docker Busybox 实战

java调用c方法JNA实例