Trash Talk: Exploring the JVM memory management
summary
Clear, practical tour of JVM collectors that names tradeoffs and real thresholds: OpenJDK chooses the serial collector for heaps under 1.8 GB which can surprise containerized apps, G1 is default with a sweet spot around 16 GB and typical pauses ~100–200 ms, old mark sweep can produce stop-the-world pauses up to 30s, and fully concurrent collectors like Shenandoah and ZGC target huge heaps (e.g. 48 cores and 120 GB) at the cost of CPU and ~3% throughput in one case. Tools and concepts covered include HotSpot/OpenJDK, barriers, Brooks pointers, regions, Epsilon no-collector and promotion thresholds.
AI-written summary · about
chapters (14)
- 0:00JVM memory management intro
- 1:28Garbage collection in production
- 6:06Stop-the-world pauses in GC
- 7:29Three GC principles
- 15:12Generational GC explained
- 21:17Concurrent GC challenges
- 29:49JVM garbage collectors overview
- 34:25CMS collector history
- 36:13G1 collector regions
- 40:04Epsilon no-op GC
- 41:07Shenandoah GC
- 43:18ZGC fully concurrent
- 44:43C4 vs ZGC
- 47:55Choosing the right garbage collector
related talks
46mTrash Talk - Exploring the Memory Management in the JVM
50mTrash Talk - Exploring the JVM memory management
51mTrash Talk - Exploring the JVM memory management
50mTrash Talk - Exploring the JVM memory system
49mTrash Talk - Exploring the memory management in the JVM
25mGarbage Collection Primer
01h 32mUnderstanding Java Garbage Collection and what you can do about it
52mGarbage collection for the humans
