Generational Shenandoah

Turkish equivalent: Nesilli ShenandoahDomain: Java and JVM

A generational form of the Shenandoah low-pause collector that separates young and old objects while retaining highly concurrent collection behavior.

JVM Runtime Context

Generational Shenandoah combines Shenandoah's highly concurrent low-pause collection approach with separate young and old generations. JDK 25 includes the feature through JEP 521, allowing workloads to be evaluated with generational behavior while retaining Shenandoah's concurrent design goals.

Collector Boundary

Being generational does not make Shenandoah equivalent to G1 or ZGC. Pause distribution, throughput, barriers, CPU cost, memory overhead, and live-set behavior remain collector-specific and should be measured.

Source

  • https://openjdk.org/jeps/521