Skip to content

CAUTION: This site hosts draft documentation for the next release. For published content of the latest release, visit www.eclipse.org/openj9/docs

What's new in version 0.19.0

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

Features and changes

Binaries and supported environments

OpenJ9 release 0.19.0 supports OpenJDK 14, which is available from the AdoptOpenJDK community at the following link:

OpenJDK 14 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.18.0. Features mentioned in these release notes are not available in these builds. Although it might be possible to build an OpenJDK 8 or OpenJDK 11 with OpenJ9 0.19.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.

Option to print code cache usage to stderr at VM shutdown

A new command line option -XX:+PrintCodeCache allows you to print the code cache memory usage to stderr when the VM shuts down.

Start of content that applies to Java 8 StringBuffer and StringBuilder above 1 G grow to the maximum size

A 1 G char[] or larger StringBuffer and StringBuilder now immediately grows to the maximum possible size for all current versions of Java, including Java 8. For Java 8 only, you can revert to the previous behavior of growing only as much as necessary to accommodate the String being added, by using the option, -Djava.lang.stringBuffer.growAggressively=false.

Start of content that applies to Java 14+ jpackage packaging tool platform support

The jpackage utility is described in JEP 343 as a tool that "packages a Java application into a platform-specific package that includes all of the necessary dependencies." Full details of the tool are available at JEP 343: Packaging Tool. Be aware that jpackage is supported on only the following OpenJ9 platforms: Linux®, macOS®, and Windows™. It is not supported on AIX® or z/OS® platforms.

Start of content that applies to Java 14+ Extended messages for NullPointerException not yet implemented

JEP 358: Helpful NullPointerExceptions provides extended messages when a NullPointerException is generated by the Java 14 VM and you have enabled the feature. However, be aware that this is not implemented in OpenJ9 at this time.

Compiler changes for Linux

Linux x86 64-bit, Linux on POWER® LE 64-bit, and Linux on IBM Z® 64-bit have all moved to the gcc 7.5 compiler. See Supported environments.

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

The following features are supported by OpenJ9:

  • JEP 343: Packaging Tool (Incubator)
    Restrictions: jpackage is supported on only the following OpenJ9 platforms: Linux®, macOS®, and Windows™. It is not supported on AIX® or z/OS® platforms.
  • JEP 352: Non-Volatile Mapped Byte Buffers
  • JEP 358: Helpful NullPointerExceptions
  • JEP 359: Records (Preview)

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

  • JEP 305: Pattern Matching for instanceof (Preview)
  • JEP 361: Switch Expressions (Standard)
  • JEP 367: Remove the Pack200 Tools and API
  • JEP 368: Text Blocks (Second Preview)

You can find the full list of features for JDK 14 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.18.0 and version 0.19.0 releases, see the Release notes.