欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

ZGC 与 Shenandoah:低延迟垃圾回收器对比

发表于:|最后更新:|分类:后端开发|阅读:6794 次

ZGC 与 Shenandoah 是两款面向低延迟场景的并发垃圾回收器,均致力于将停顿时间控制在毫秒级。

一、核心机制对比

维度 ZGC Shenandoah
并发标记 染色指针 Brooks 转发指针
并发转移 读屏障自愈 读写屏障
最大堆支持 TB 级 较大
停顿目标 < 1ms < 10ms
JDK 版本 11 实验,15 正式 12 正式

二、启用方式

bash
java -XX:+UseZGC -Xmx16g -jar app.jar
java -XX:+UseShenandoahGC -Xmx16g -jar app.jar

ZGC 通过染色指针将标记信息存入指针本身,Shenandoah 则使用 Brooks 指针间接访问对象。两者均需承担读屏障带来的吞吐损耗,适合对延迟敏感的大内存服务。