What's new in version 0.11.0
The following new features and notable changes since version 0.10.0 are included in this release:
- New class data sharing suboptions
- Container awareness in the Eclipse OpenJ9™ VM is now enabled by default
- Pause-less garbage collection mode is now available on Linux x86 platforms
- You can now restrict identity hash codes to non-negative values
- Support for OpenJDK HotSpot options
Features and changes
New class data sharing suboptions
-Xshareclasses:bootClassesOnly
: disables caching of classes that are loaded by non-bootstrap class loaders. This suboption also enables the nonfatal
suboption, which allows the VM to start even if there was an error creating the shared classes cache.
-Xshareclasses:fatal
: prevents the VM from starting if there was an error creating the shared classes cache. You might want to enable this suboption when using the -Xshareclasses:bootClassesOnly suboption, to troubleshoot problems when creating the cache.
Container awareness in the OpenJ9 VM is now enabled by default
When using container technology, applications are typically run on their own and do not need to compete for memory. If the VM detects that it is running in a container environment, and a memory limit for the container is set, the VM automatically adjusts the maximum default Java heap size.
In earlier releases, this behavior was enabled by setting the -XX:+UseContainerSupport
option. This setting is now the default. For more information
about the Java heap size set for a container, see -XX:[+|-]UseContainerSupport.
Pause-less garbage collection mode is now available on Linux x86 platforms
Pause-less garbage collection mode is aimed at large heap, response-time sensitive applications. When enabled, the VM attempts to reduce GC pause times. In earlier releases, pause-less garbage collection mode (-Xgc:concurrentScavenge
) was available only on IBM z14 hardware. This mode is now available on 64-bit x86 Linux platforms.
Restrictions:
- The Generational Concurrent (
gencon
) garbage collection policy must be used. (This is the default policy.) - Compressed references must be used. See
-Xcompressedrefs
. Compressed references are enabled by default when the maximum heap size (-Xmx
) ≤ 57 GB. The concurrent scavenge option is ignored if the maximum heap size is > 57 GB.
You can now restrict identity hash codes to non-negative values
OpenJ9 allows both positive and negative identity hashcodes, which can be problematic if your program (incorrectly) assumes hashcodes can only be positive. However, you can now use the -XX:[+|-]PositiveIdentityHash option to limit identity hash codes to non-negative values.
Support for OpenJDK HotSpot options
For compatibility, the following OpenJDK HotSpot options are now supported by OpenJ9: