Backend Development 4 min read

Generational Shenandoah GC Feature Removed from Java 21

Java 21, slated for release on September 19, 2023 as the next LTS version after Java 17, will drop the experimental Generational Shenandoah garbage‑collector feature during its Ramp‑down phase due to insufficient readiness, with the change slated for removal by the June 14 review deadline.

Architecture Digest
Architecture Digest
Architecture Digest
Generational Shenandoah GC Feature Removed from Java 21

Java 21 is scheduled for official release on September 19, 2023, marking the next LTS version after Java 17.

As of June 8, JDK 21 entered the Ramp‑down phase; during this phase the Generational Shenandoah (experimental enhancement to the Shenandoah GC) feature is being removed, reducing the feature count from 16 to 15.

The core reason for removing Generational Shenandoah is a lack of preparation.

JEP author Roman Kennke proposed deleting the feature from Java 21 to better assess readiness, stating that the Shenandoah team decided to skip JDK 21 and allocate time to deliver the best possible Generational Shenandoah in the future.

“We thank everyone who spent time reviewing our pull request and providing feedback. Given the risks identified during review and insufficient time for thorough examination of the extensive code contributions, we have decided to close this PR for now. We will aim for JDK 22.”

Generational Shenandoah was intended to enhance the Shenandoah GC with experimental generational collection, improving sustainable throughput, load‑peak resilience, and memory utilization.

The plan aims to provide an experimental generational mode without breaking the existing non‑generational Shenandoah, with future intent to make it the default. Goals include reducing sustained memory usage, CPU and power consumption, maintaining low GC pause times, preserving high throughput, and lowering the risk of degradation during allocation peaks; the non‑generational Shenandoah will remain unchanged.

The removal review period ends on June 14; if there are no significant objections, the JEP will be formally removed from JDK 21.

This decision only affects OpenJDK versions that support Shenandoah GC and does not impact G1 GC, Z Garbage Collector (ZGC), or other modern collectors, nor does it affect Java distributions that use G1 or ZGC such as Oracle OpenJDK and Oracle JDK.

The initial JDK 21 candidate release is planned for August, with a second candidate slated for late August.

Related link: https://www.infoworld.com/article/3699308/java-21-to-drop-generational-shenandoah-gc-feature.html

JavaGarbage CollectionJDK21Generational GCOpenJDKShenandoah
Architecture Digest
Written by

Architecture Digest

Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.