Generational ZGC and Beyond
summary
Generational ZGC in JDK 21 introduces concurrent young/old regions, minor/major collections, and automatic tuning of tenuring, collection timing and GC threads so users rarely set knobs. It replaces expensive multi‑map colored pointers with colorless roots and a two‑instruction load barrier, expands to 12 color bits, and uses immutable/current remember‑set bitmaps. Measured on Cassandra 4 (128 GB heap) it sustains about four times throughput while cutting heap size ~75%, and future work targets thread‑local GC to exploit virtual threads.
AI-written summary · about
chapters (15)
- 0:00Intro
- 8:18Automatic Tuning
- 13:36Colored Pointers
- 14:24Load Barrier
- 15:43Colorless Roots
- 21:09Multi Map Memory
- 21:56Store Barrier
- 22:46Snapshot
- 23:53Memories
- 25:27Performance
- 26:42Sunny Beach
- 26:59Thread Local GC
- 27:34Why do this
- 30:26Warmup Problems
- 31:09Design Goals
related talks
48mZGC: A Decade of Redefining Java Performance
19mZ Garbage Collector: The Next Generation
39mZGC - Paving the GC On-Ramp
46mZGC: A Scalable Low-Latency Garbage Collector
39mZGC: The Next Generation Low-Latency Garbage Collector
15mThree flavors of generational GC: G1, ZGC, Shenandoah
25mGarbage Collection Primer
01h 01mOpenJDK: In the new age of Concurrent Garbage Collectors
