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.






