Tagged articles
4 articles
Page 1 of 1
Lobster Programming
Lobster Programming
Jun 9, 2025 · Fundamentals

Why JVM Uses Two Survivor Spaces: Boosting GC Efficiency and Memory Utilization

JVM’s generational garbage collection divides the heap into young and old generations, using two Survivor spaces to incrementally age objects, apply a copying algorithm, reduce fragmentation, improve memory utilization, and accelerate short‑lived object reclamation, ultimately enhancing overall GC performance.

Generational GCJVMSurvivor Space
0 likes · 4 min read
Why JVM Uses Two Survivor Spaces: Boosting GC Efficiency and Memory Utilization
Java Backend Technology
Java Backend Technology
Mar 18, 2018 · Backend Development

Why Does the JVM Use Two Survivor Spaces? Uncover the Memory Management Secrets

This article explains the purpose of Survivor spaces in the JVM young generation, why a single Survivor area is insufficient, how having two Survivor spaces prevents memory fragmentation, and the copy algorithm that keeps one space empty while the other holds contiguous live objects.

Backend DevelopmentGarbage CollectionJava memory management
0 likes · 7 min read
Why Does the JVM Use Two Survivor Spaces? Uncover the Memory Management Secrets
Java Architect Essentials
Java Architect Essentials
Mar 7, 2018 · Backend Development

Understanding the Young Generation and Survivor Spaces in Java HotSpot JVM Garbage Collection

The article explains why the JVM uses a generational heap, describes the structure and operation of the young generation—including Eden and two Survivor spaces—illustrates object lifecycles, the role of Survivor spaces in preventing fragmentation, and outlines related JVM tuning parameters.

JavaSurvivor SpaceYoung Generation
0 likes · 10 min read
Understanding the Young Generation and Survivor Spaces in Java HotSpot JVM Garbage Collection