Skip to content

CAUTION: This site hosts draft documentation for the next release. For published content of the latest release, visit

Migrating from Java 17 to Java 21

Support for OpenJDK 21 was added in Eclipse OpenJ9™ version 0.42.0.

The following new OpenJ9 changes apply when OpenJ9 is built with Java® SE 21 class libraries. This information exists elsewhere in the documentation but is summarized here for convenience.

Support for JDK enhancement proposals (JEP)

The new JEPs that are supported are listed in the following topics:

New OpenJ9 features and changes

The following table lists the new OpenJ9 features and notable changes with the OpenJ9 release in which they were added:

Features and changes OpenJ9 release
The OpenJ9 jextract tool is removed. 0.41.0
New -XX:[+\|-]ShowCarrierFrames option added. You can use the -XX:+ShowCarrierFrames option to add the stack trace of the carrier thread in addition to the virtual thread stack trace to the Throwable.getStackTrace() method, if an exception occurs. 0.41.0
New -XX:ContinuationCache option added. You can optimize the virtual thread performance by tuning the continuation tier 1 and 2 cache size with the -XX:ContinuationCache option 0.41.0
Warnings are issued when the agents are loaded dynamically into a running VM after startup without specifying the -XX:+EnableDynamicAgentLoading option and the same agents were not loaded before. 0.41.0
Linux® builds for all platforms, except for the AArch64 64-bit, use gcc 11.2 instead of gcc 10.3. Linux AArch64 64-bit continues to use gcc 10.3. The Windows Visual Studio compiler is also changed from Microsoft Visual Studio 2019 to Microsoft Visual Studio 2022. See the list of build environments. 0.42.0