World Congress 2025 • Aug 20, 2025 • Session details

Trash Talk - Exploring the memory management in the JVM

Gerrit Grunwald

Java abstracts memory management, but ignoring it destroys application latency. Master modern JVM garbage collection algorithms to eliminate stop-the-world pauses and perfectly balance your performance trade-offs.

Pause
Mute Enter Fullscreen
#1 about 1 min

Understanding JVM stack and heap memory structures

Memory management inside the JVM relies on the stack for references and the heap for actual objects.

#2 about 3 min

Object reachability and automatic memory management

Objects remain in heap memory and consume space as long as they are reachable through direct or nested references.

#3 about 3 min

Automated garbage collection and stop-the-world pauses

Automated cleanup processes temporarily halt application execution using safe points to safely manage memory.

#4 about 3 min

Mark and sweep non-moving memory collection

Static object allocation causes dead memory cells to fragment the heap without reorganization.

#5 about 4 min

Moving compact and copy memory collectors

Compacting and copying live objects into fresh survival spaces eliminates memory fragmentation at the cost of reference updates.

#6 about 4 min

Weak generational hypothesis and JVM heap regions

Separating the heap into young and old generations optimizes minor and major collection cycles for objects that die quickly.

#7 about 3 min

Serial garbage collection for single-core applications

Single-threaded collection serves small heap sizes automatically when hardware limits are detected.

#8 about 2 min

Parallel throughput garbage collection and processing

Multi-threaded parallel collection maximizes overall throughput for processing applications needing long pauses.

#9 about 2 min

Deprecated concurrent mark and sweep collector

Older predictable pause time approaches suffer from fragmentation in the old generation and are retired in newer JVMs.

#10 about 3 min

G1 region-based garbage collection architecture

Chunking the heap into resizable regions allows predictable pause times by independently copying the most fragmented spaces first.

#11 about 1 min

Epsilon allocation-only memory management

An experimental no-op memory strategy provides the fastest performance when memory requirements are exact and constrained.

#12 about 3 min

Fully concurrent garbage collection with Shenandoah and ZGC

Operating collection threads alongside application logic enables millisecond pauses on massive terabyte-scale heaps.

#13 about 3 min

Colored pointers and loaded value memory barriers

Storing forwarding data in the reference pointer enables application threads to safely access dynamically moving objects.

#14 about 1 min

Choosing between throughput, latency, and resource efficiency

Balancing memory management requires trading off pause times against CPU and RAM consumption priorities.

Matching moments

1:21 min

Reducing latency with the generational zero garbage collector

Ron Veen Ron Veen · World Congress 2024

2:09 min

Supporting garbage collected runtimes securely in modern systems

Edoardo Dusi · LIVE

8:29 min

Discussion on JIT memory parameters and cross-language benchmarking

Daniel Strmečki · LIVE

3:06 min

Mechanisms of the tri-color garbage collector algorithm

Manfred Bjørlin Manfred Bjørlin · World Congress 2026 Europe

2:27 min

Summary of container diagnostics and garbage collector behavior

Tom Crecelius Tom Crecelius · World Congress 2026 Europe

5:07 min

Addressing garbage collection performance impacts and scope pitfalls

Eli Holderness · LIVE