Garbage Collection in Java: The progress since JDK 8
summary
Since JDK 8 the JVM’s collectors shrink pauses and cut overhead: SPECjbb2015 runs show parallel up ~30% throughput versus JDK 8, G1 >40% throughput and roughly halved latency tails, and adding cgc generational gives ~10% throughput and trims worst-case P99 pause tails ~15% (cgc P99 moves from ~140μs to ~120μs). Region remember‑set memory drops from ~2GB to ~1GB in G1. Benchmarks include Cassandra and real-world upgrades: Netflix halves pause time and GC time; Mercado Libre reports 50% fewer threads, 25% CPU, 20% memory and 30% latency gains.
AI-written summary · about
chapters (14)
- 0:00Introduction to GC in Java
- 1:28How garbage collection works
- 8:48Overview of Java GCs
- 13:23Serial and Parallel GC
- 15:55G1 GC details
- 18:21Performance improvements since JDK 8
- 25:23Native memory overhead progress
- 29:15Real-world success stories
- 33:24Netflix’s upgrade to JDK 17
- 35:33Netflix’s generational ZGC adoption
- 36:57Mercado Libre’s Java 21 migration
- 39:02Oracle Cloud Infrastructure upgrades
- 40:47Future of GC in Java
- 44:00Key takeaways and Q&A
related talks
43mGarbage Collection in Java: The Performance Benefits of Upgrading
01mThe evolution of Garbage Collection Algorithms in Java
50mTrash Talk - Exploring the JVM memory system
45mJava Garbage Collectors’ Current Performance Impact
44mGarbage Collector: How to Tame the Beast and Make It Your Best Ally
48mZGC: A Decade of Redefining Java Performance
52mUnderstanding Java Garbage Collection
49m“Show Me the Garbage!”, Garbage Collection a Friend or a Foe
