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:
- New binaries and changes to supported environments
- Performance improvements
- New
-XX:[+|-]PortableSharedCache
option added - Methods in
com.ibm.lang.management.MemoryMXBean
deprecated and replaced -
java.lang.System.mapLibraryName()
string suffix - New JDK 15 features
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
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.
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.