Mastering GC: tame the beast and make it your best ally
summary
Comparative benchmarks use JFR recordings and JMC on a Spring Petclinic demo to show concrete numbers: G1 spends ~20s in young GC across 244 events (≈85% throughput), while ParallelGC totals ~2s with ~100 GCs (~97% throughput) for batch jobs; ZGC and Shenandoah give the lowest tail latencies for request/response workloads. Practical tuning covers G1 humongous fragmentation and region-size tweaks, Shenandoah fully concurrent evacuation with load-barriers and allocation-pacer, and ZGC colored pointers plus heap sizing or dedicated GC cores; C4 (Azul) appears competitive.
AI-written summary · about
chapters (10)
- 0:00Introduction to Java GC
- 1:33Serial and generational GC
- 5:16Parallel GC and marking phases
- 8:50G1 garbage collector details
- 13:22Concurrent collectors
- 16:53Workload selection and metrics
- 23:59Tuning Parallel and G1
- 29:09Advanced GC tuning strategies
- 34:26Summary and conclusions
- 40:13Q&A session
related talks
46mMastering GC: tame the beast and make it your best ally
44mGarbage Collector: How to Tame the Beast and Make It Your Best Ally
59mGC Tuning Confessions of a Performance Engineer
15mThree flavors of generational GC: G1, ZGC, Shenandoah
25mGarbage Collection Primer
39mG1GC Concepts and Performance Tuning
31mDemystifying G1GC
50mUnderstanding Low Latency JVM GCs
