Trash Talk - Exploring the JVM memory system
summary
JVM garbage collection directly changes latency, CPU and memory behavior: default is G1 default since JDK9 but JVM picks the serial collector for single‑CPU or <1.8GB heaps, generational GC copies young objects, promotion threshold examples use three survival cycles, and copy collectors need roughly 2x space. Stop‑the‑world pauses can reach up to 10s on old collectors while ZGC and Shenandoah drive pauses toward ~1ms for very large heaps (customers report ~21 TB).
AI-written summary · about
chapters (20)
- 0:00Garbage collection matters
- 1:51JVM memory structure
- 3:36Reachability and roots
- 5:01Memory management basics
- 6:27GC phases explained
- 7:50Stop-the-world pauses
- 9:15Non-moving GC principles
- 12:24Moving GC comparison
- 16:20Generational GC concept
- 21:39Concurrent GC challenges
- 25:55JVM GC overview
- 27:20Serial GC limits
- 30:12Parallel GC throughput
- 33:21Deprecated CMS GC
- 36:10G1 GC deep dive
- 41:35Epsilon non-collector garbage collector
- 43:20Shenandoah fully concurrent collector
- 44:44ZGC low latency
- 46:07ZGC and C4 mechanisms
- 48:38Balancing throughput latency
related talks
49mTrash Talk: Exploring the JVM memory management
46mTrash Talk - Exploring the Memory Management in the JVM
50mTrash Talk - Exploring the JVM memory management
51mTrash Talk - Exploring the JVM memory management
50mGarbage Collection in Java: The progress since JDK 8
25mGarbage Collection Primer
01mThe evolution of Garbage Collection Algorithms in Java
52mGarbage collection for the humans
