JVM-ZGC Shenandoah
pauseless gc基本情况
使用 读屏障 ,增量并发垃圾回收 提出后jdk11 引入ZGC JDK12引入Shenandoah GC
主要分为三个阶段: 标记,重定位,重映射 每个阶段都是完全并行的,而且每个阶段都是和业务线程并发执行的。
CGC:聚焦于低延迟的垃圾收集器
这是一款低停顿,高并发,基于小堆块 不分代的增量式垃圾收集器 平均GC耗时不到2毫秒
,最坏不超过10毫秒。
ZGC特性简介
ZGC最主要的特点:
最大停顿不超过10ms
堆内存支持范围广,小到几百mb,大到4TB的超大堆内存
与G1相比,吞吐量下降不超过15%
当前只支持linux/X64位平台
像G1和ZGC这种现代的GC算法 只要空闲的堆内存足够多,基本上不触发FGC
所以很多情况,只要条件允许 加内存才是最有效的解决方式


ZGC 引入两项关键技术 着色指针和读屏障
读屏障:可以理解为一段代码,或者是一个指令,后面挂着对应的函数
读屏障和着色指针相当于在内存管理和应用程序之间加了一个中间层

Shenandoah GC简介
java12引入了一款新的垃圾收集器 作为ZGC的另一个选择 超低延迟垃圾收集器
特点:管理大型多核服务器,超大型的堆内存。GC线程与应用线程并发执行,使得虚拟机的停顿时间非常的短暂



浙公网安备 33010602011771号