Trash Talk - Exploring the Memory Management in the JVM
summary
Covers concrete JVM collectors, tradeoffs and numbers: serial GC uses one thread and often runs on tiny nodes or <1.8 GB defaults; parallel GC gives throughput by using all cores; CMS is removed; G1 default: regions 1β32 MB, pause targets <200 ms (typically 50β100 ms), sweet spot ~16β32 GB heap; Epsilon is a no-GC allocator that crashes on OOM; ZGC/C4 (and Shenandoah) are concurrent regioned collectors aimed at 100+ GB heaps using cheap barriers (one-cycle loaded-value barrier) for low latency.
AI-written summary Β· about
chapters (18)
- 0:00Memory management intro
- 1:11Stack frames and heap basics
- 3:39Garbage collection live objects
- 5:26Stop-the-world pauses
- 7:17Mark and sweep GC
- 9:24Mark and compact GC
- 11:51Copy collector benefits
- 14:20Generational GC overview
- 18:58Concurrent GC challenges
- 24:40Serial GC use cases
- 26:03Parallel GC throughput
- 27:27CMS collector
- 28:28G1 collector
- 30:15Epsilon no-op GC
- 31:17Shenandoah concurrent garbage collector
- 32:42ZGC and C4 collectors
- 36:19Choosing the right GC
- 37:27Q&A
related talks
52mGC Tuning & Troubleshooting Crash Course
01h 32mTuning Large Scale Java Platforms
21mMemory: Don't Forget to Take Out the Garbage
42mA State of Java Elasticity
43mThe .NET Garbage Collector
53mCalibrate Garbage Collection on the Ground and Run Your Java App
39mMemory Efficient Java
43mGarbage Collection in Java: The Performance Benefits of Upgrading
