ZGC 多重映射堆视图:彩色指针如何用地址空间换并发整理
面向 TB 级堆低延迟服务,解释 ZGC 为何把同一份物理堆映射成 Marked0、Marked1、Remapped 三个虚拟视图,彩色指针如何借视图编码标记状态,读屏障在加载引用时做什么,以及多重映射带来的虚拟地址与常驻内存开销。同时对比 Shenandoah 的 Brooks 指针方案,给出地址空间规划与诊断要点。
共 3 篇文章
面向 TB 级堆低延迟服务,解释 ZGC 为何把同一份物理堆映射成 Marked0、Marked1、Remapped 三个虚拟视图,彩色指针如何借视图编码标记状态,读屏障在加载引用时做什么,以及多重映射带来的虚拟地址与常驻内存开销。同时对比 Shenandoah 的 Brooks 指针方案,给出地址空间规划与诊断要点。
面向 TB 级堆的低延迟交易服务,解释 JDK 21 引入的分代 ZGC 如何通过彩色指针、读屏障与写屏障把标记工作从读路径搬到写路径,让年轻代高频回收与老代并发整理分工协作,并对比非分代 ZGC 与 G1 的吞吐、延迟和内存开销,给出选型边界与失败模式。