Trash Talk - Exploring the Memory Management in the JVM
summary
Fast, clear rundown of how JVM collectors actually work: Mark‑sweep fragments, Mark‑compact trades free space for compaction time, copy collectors need 2x memory, and generational GCs move young survivors to old after repeated copies (Eden/Survivor/to-space). Practical rules: JVM auto‑selects Serial on single CPU or <1.8 GB heap; G1 is default since JDK8 with region sizes (1 MB regions under 4 GB, 4 MB at 8 GB); Epsilon is a non‑GC for deterministic tests. Explains barriers, card table remembered sets, Brooks pointers, ZGC/Shenandoah design, C4/Zing differences, and notes Netflix sees ~3% throughput drop for much lower pause times.
AI-written summary · about
chapters (18)
- 0:00Introduction and memory model
- 2:16Heap objects and reachability
- 4:50Garbage collection principles
- 6:02Mark and sweep collectors
- 8:15Compacting collectors
- 9:39Copying collectors
- 11:30Generational garbage collection
- 14:33Card tables and roots
- 16:20Concurrent marking and barriers
- 20:11Concurrent copying
- 22:35Serial and parallel collectors
- 24:19CMS collector overview
- 27:22G1 garbage collector
- 30:53Epsilon garbage collector
- 32:18Shenandoah garbage collector
- 34:08ZGC and C4 collectors
- 36:30Advanced concurrent techniques
- 41:40Choosing the right collector
related talks
50mTrash Talk - Exploring the JVM memory management
49mTrash Talk - Exploring the memory management in the JVM
51mTrash Talk - Exploring the JVM memory management
49mTrash Talk: Exploring the JVM memory management
51mJava Garbage Collection - The Basics
50mTrash Talk - Exploring the JVM memory system
52mGarbage collection for the humans
16mGarbage Collectors: Battle Royale
