Living on Channel ZGC
summary
Experimental ZGC is implemented for OpenJDK on AArch64 as a region-based concurrent copying collector supporting multi-terabyte virtual heaps and aiming for ~10 ms pause targets with at most ~15% throughput loss. It uses colored pointers, load barriers and forwarding tables to remap moved objects concurrently; implementation required 64-bit literal address changes and AArch64-specific barrier code. Benchmarks on ARM hardware (~2–2.5 GHz) show latency comparable to Shenandoah and often better than G1; remaining work includes C2 fixes, verification flags, concurrent class unloading and debug/Growl support.
AI-written summary · about
chapters (10)
- 0:00Introduction to ZGC
- 1:34What is ZGC
- 4:29Concurrent copying collectors
- 7:11How ZGC works
- 12:14ZGC lifecycle
- 14:43Challenges implementing ZGC
- 16:37Performance comparison
- 18:11Latency guarantees
- 19:20Remaining work
- 20:02Summary and future
related talks
46mZGC: A Scalable Low-Latency Garbage Collector
39mZGC: The Next Generation Low-Latency Garbage Collector
49mConcurrent Garbage Collectors: ZGC & Shenandoah
47mConcurrent Garbage Collectors: ZGC & Shenandoah
19mZ Garbage Collector: The Next Generation
48mZGC: A Decade of Redefining Java Performance
39mZGC - Paving the GC On-Ramp
34mGenerational ZGC and Beyond
