JVM Tutorials - Herong's Tutorial Examples - Version 4.23, by Dr. Herong Yang
Generational Garbage Collection in HotSpot
This section describes the generational garbage collection architecture used in the HotSpot JVM. Young Generation stores objects with shorter lives and Tenured Generation stores objects with longer lives.
Earlier we learned the garbage collector's role and responsibilities. Now let's look at a real example, the garbage collector implemented in the HotSpot JVM.
Architecturally, the HotSpot garbage collector is called Generational Collector, which divides the memory into two parts (generations):
A new objects is normally allocated in the Young Generation first. If it survives some number of Minor Collections, it will be then promoted to the Tenured Generation.
The generational garbage collection approach is more efficient because of the following weak generational hypothesis observed in most Java applications:
The picture below illustrates the generational garbage collection architecture used in HotSpot JVM:
Last update: 2014.
Table of Contents
Downloading and Installing JDK 1.8.0 on Windows
Downloading and Installing JDK 1.7.0 on Windows
java.lang.Runtime Class - The JVM Instance
java.lang.System Class - The Operating System
ClassLoader Class - Class Loaders
Class Class - Class Reflections
JRockit JVM 28.2.7 by Oracle Corporation
►Memory Management and Garbage Collectors
Memory Management General Rules
Java Exception: "java.lang.OutOfMemoryError: Java heap space"
OutOfMemoryError Comparison of HotSpot and JRockit
Garbage Collection Demonstration
JVM Memory Manager - Garbage Collector
►Generational Garbage Collection in HotSpot
Young Generation Collection - Minor Collection
Tenured Generation Collection - Full Collection
HotSpot Default Garbage Collector - Serial Collector
"-XX:+PrintGCDetails" - Garbage Collection Logging
GC Log Messages on GarbageCollection.java
Serial, Parallel, Concurrent, and Regionalized Collectors
Parallel Collector GC Log Message Format
Parallel Compacting Collector GC Log Message Format
Concurrent Mark-Sweep Collector GC Log Message Format
Garbage First GC Log Message Format
JVM Stack, Frame and Stack Overflow
Thread Testing Program and Result
CPU Impact of Multi-Thread Applications
I/O Impact of Multi-Thread Applications
Micro Benchmark Runner and JVM Options
Micro Benchmark Tests on "int" Operations
Micro Benchmark Tests on "long" Operations
Micro Benchmark Tests in JIT Compilation Mode