1st Edition

The Z Garbage Collector In JDK 25

By Erik Österlund Copyright 2026
370 Pages 56 B/W Illustrations
by Chapman & Hall

370 Pages 56 B/W Illustrations
by Chapman & Hall

370 Pages 56 B/W Illustrations
by Chapman & Hall

This book explains how the Z Garbage Collector was designed, why it was designed this way, the common pitfalls to avoid when using ZGC in JDK 25 and how to get useful information from the garbage collector. Java is one of the most widely used programming languages in the world. It is a memory-safe language that completely relies on a good garbage collection (GC) algorithm to work well. The Z... Read more

1. Introduction  2. ZGC Design Overview  3. ZGC Memory Layout  4. ZGC Generations  5. ZGC Barriers  6. ZGC Collection Phases  7. ZGC Root Scanning  8. ZGC Class Unloading  9. ZGC Collection Triggers  10. ZGC Thread Sizing Heuristics  11. ZGC Heap Sizing Policies  12. Safepoint Polls  13. Thread-Local Handshakes  14. Compiled Method Entry Barriers  15. Compiled Barriers  16. Virtual Threads  17. Deploying ZGC  18. Measuring Latency  19. Measuring Throughput  20. Measuring Memory Footprint  21. Observability  22. ZGC Heap Sizing

Biography

Erik Österlund did his BSc, MSc and PhD at the Linnaeus University, Sweden, where his interests and thesis work were all focused on garbage collection. At a memory management conference in Beijing 2012, Erik met Jesper Wilhelmsson from an Oracle development office in Stockholm. They were both surprised to find two Swedes in Beijing, interested in memory management.  One thing led to another, and a research internship was arranged. There, Erik was talking about how a concurrent GC algorithm was needed. In 2016, Erik joined Oracle and started working on ZGC, and has been one of the core ZGC developers ever since.