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:
- JDK 18: What's new in version 0.32.0
- JDK 19: What's new in version 0.37.0
- JDK 20: What's new in version 0.39.0
- JDK 21: What's new in version 0.42.0
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 |