Skip to content

JVM Garbage Collection

From choosing a collector to reading its logs: how the JVM's garbage collectors work and how to run them well.

5 of 5 parts published

  1. Part 1 of 5

    How to Choose a JVM Garbage Collector

    Why most objects die young, the three dimensions every collector trades off, and a quick guide to picking the right one for your workload.

    2 min read

  2. Part 2 of 5

    Serial, Parallel and G1: The Throughput Collectors

    How the classic JVM collectors work, when raw throughput wins, and what G1's region-based design changed.

    3 min read

  3. Part 3 of 5

    ZGC and Shenandoah: Low-Latency Garbage Collection

    Sub-millisecond pauses, concurrent compaction, generational modes in Java 25, and Epsilon, the collector that collects nothing.

    3 min read

  4. Part 4 of 5

    Reading GC Logs: Metrics, Safepoints and Tuning Profiles

    Which GC metrics matter, why safepoints cause hidden pauses, and tuning profiles for four typical JVM workloads.

    4 min read

  5. Part 5 of 5

    Garbage Collection in Containers, and What Comes Next

    Container-aware heap sizing, cloud settings, a cheat sheet of GC flags, and where Project Leyden takes JVM memory management.

    3 min read