Skip to content

What's new in version 0.22.0

The following new features and notable changes since version 0.21.0 are included in this release:

Features and changes

Binaries and supported environments

Eclipse OpenJ9™ release 0.22.0 supports OpenJDK 15. Binaries are available from the AdoptOpenJDK community at the following link:

OpenJDK 15 with Eclipse OpenJ9 is not a long term support (LTS) release.

The latest builds of OpenJDK with OpenJ9 for Java 8 and 11 at the AdoptOpenJDK community are for Eclipse OpenJ9 release 0.21.0. Features mentioned in these release notes are not available in these Java 8 and 11 builds. Although it might be possible to build an OpenJDK 8 or OpenJDK 11 with OpenJ9 0.22.0, testing at the project is not complete and therefore support for any of these features is not available.

To learn more about support for OpenJ9 releases, including OpenJDK levels and platform support, see Supported environments.

Performance improvements

The performance of zero initializing Java heap memory improved on the IBM Z® platform because of a change to use memset instead of an outdated handcrafted assembly sequence in the JVM.

New -XX:[+|-]PortableSharedCache option added

On x86 only, the -XX:[+|-]PortableSharedCache option enables you to choose whether AOT code should be generated using an older processor (Intel® Sandybridge) feature set, which therefore allows the AOT code to be portable. This feature is particularly relevant for packaging a shared classes cache into a container image (for example, applications deployed on the cloud in the form of Docker containers) because the processor on which the container image is built is likely to be different from the processor on which the container is deployed. For more information, see -XX:[+|-]PortableSharedCache.

Methods in com.ibm.lang.management.MemoryMXBean deprecated and replaced

The methods com.ibm.lang.management.MemoryMXBean.getGCMasterThreadCpuUsed() and com.ibm.lang.management.MemoryMXBean.getGCSlaveThreadsCpuUsed() are deprecated for removal in Java 16. The recommended methods to be used are com.ibm.lang.management.MemoryMXBean.getGCMainThreadCpuUsed() and com.ibm.lang.management.MemoryMXBean.getGCWorkerThreadsCpuUsed() respectively.

For more information see Java 8: com.ibm.lang.management.MemoryMXBean and for Java 11: com.ibm.lang.management.MemoryMXBean

Start of content that applies to Java 15+ java.lang.System.mapLibraryName() string suffix

On AIX® systems, java.lang.System.mapLibraryName(libname) returns a representation of a native library in a platform-specific string with a .so suffix.

Start of content that applies to Java 15 plus New JDK 15 features

The following features are supported by OpenJ9:

The following features are implemented in OpenJDK and available in any builds of OpenJDK 14 with OpenJ9:

  • JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA)
  • JEP 372: Remove the Nashorn JavaScript Engine
  • JEP 373: Reimplement the Legacy DatagramSocket API
  • JEP 375: Pattern Matching for instanceof (Second Preview)
  • JEP 378: Text Blocks
  • JEP 385: Deprecate RMI Activation for Removal

You can find the full list of features for JDK 15 at the OpenJDK project. Any remaining features that are listed do not apply to OpenJ9.

Full release information

To see a complete list of changes between Eclipse OpenJ9 version 0.21.0 and version 0.22.0 releases, see the Release notes.