Upgrade comparison table
This section highlights changes between IBM SDK, Java Technology Edition, and IBM Semeru Runtime Certified Edition for z/OS 11 (Semeru 11).
New in Semeru 11
| What's changing? | Status | How this affects you |
|---|---|---|
IBM security providers:
|
New | Support is available. |
| IBMZSecurity provider | New | This security provider is enabled by default. For more information, see Security guide. |
Algorithms on the OpenJCEPlus provider:
|
New | Support is available. |
|
Support for JEP 331 |
New | Support is added in Eclipse OpenJ9, providing a mechanism for sampling Java heap allocations
with a low overhead through the JVM Tool Interface (JVMTI). For more information about the limitations, see Support for low-overhead heap profiling. |
| Reference implementation compatibility tools: | New | These tools are Eclipse OpenJ9 implementations and might differ in specific ways. In particular, these tools rely on the Attach API. To use these tools on z/OS systems, you must enable the Attach API. |
| zEDC (zEnterprise® Data Compression) Express® adapter Integrated Accelerator for zEDC solution for z15™ |
New | Support is available. For more information, see zEnterprise Data Compression. |
IBM security providers:
|
Coming soon | Support is intended to be added in a later release. For more information about the future of these components, see the IBM Semeru Runtime Certified Edition for z/OS, Version 11: Supplementary documentation technote. |
Changed in Semeru 11
| What's changing? | Status | How this affects you |
|---|---|---|
| Class libraries | Changed | This release contains class libraries from the OpenJDK project rather than proprietary class libraries that are licensed from Oracle. |
| XML implementation | Changed | The IBM implementation of XML is replaced with the OpenJDK implementation of XML. |
IBM Security providers:
|
Changed | These providers have been replaced with the OpenJDK security implementation. For more information, see Comparable OpenJDK security providers. |
| JCERACFKS keystore implementation | Changed | The IBMZSecurity provider is added to provide the JCERACFKS
keystore implementation. The following changes apply:
|
| PKCS#11 capability | Changed | The SunPKCS11 provider is added to provide the PKCS#11 capability.
For more information, see PKCS#11 provider differences. |
| IBMJCEPlus cryptographic provider | Changed | This is renamed to OpenJCEPlus and is now the default provider. OpenJCEPlus provider currently does not support the RSAPSS or XDH algorithms that are supported by the IBMJCEPlus provider in version 8 of the SDK. For more information, see OpenJCEPlus provider. |
| Time zone data in the OpenJDK COMPAT locale provider | Changed | This is no longer overridden by IBM time zone data. Currently, the OpenJDK data does not
include time zone name translations for the following locales, which did exist in the IBM data: ca,
cs, hu, pl, ru, sk, sl, tr, and zh (the OpenJDK data does include translated time zone names for the
zh_CN, zh_HK, and zh_TW locales). Minor differences in the time zone data might also exist compared
with the previous release. You can use the java.locale.providers system property to
specify the locale provider to use; the default value is CLDR, COMPAT. |
| Default transport protocol for the Health Center agent | Changed | This has been changed to jrmp, as support for RMI-IIOP APIs is removed from Java 11 as part
of JEP 320. This default is specified by the
com.ibm.java.diagnostics.healthcenter.agent.transport configuration property.For more information about Health Center configuration, see Health Center configuration properties in the IBM Monitoring and Diagnostic Tools - Health Center documentation. |
| 31-bit native C or C++ code with the 64-bit Java VM | Changed | The following paths are changed:
|
| Class data sharing | Changed | This is enabled by default only for bootstrap classes, which is the equivalent of specifying
-Xshareclasses:bootClassesOnly,nonFatal,silent on the command line.For more information, see Overview of class data sharing. |
| Default shared classes cache directory | Changed | The shared classes cache directory is now enabled by default. |
| Default maximum heap size | Changed | This is changed to be 25% of the available memory with a maximum of 25 GB. Where there is 2 GB or less of physical memory, the value set is 50% of available memory with a minimum value of 16 MB and a maximum value of 512 MB. |
| Heap memory for direct byte buffers | Changed | This is changed to 87.5% (7/8) of the maximum heap size. |
String size:
|
Changed | These immediately grow to the maximum size in this release, rather than growing to the size required to accommodate the String that is being added. |
| Trace formatter utility | Changed | This utility is now run in a different way. See Trace formatter in the Eclipse OpenJ9 user documentation for more details. |
-Xlog command |
Changed | The -Xsyslog command replaces the operations run by the
-Xlog command in IBM SDK, Java Technology Edition, Version 8. For compatibility with the reference implementation, a new -Xlog command-line option is introduced that runs a subset of HotSpot -Xlog operations. |
| Shared libraries from /bin or /bin/j9vm directories | Changed | These are now located in the /lib directory. For applications that call JNI or JNI invocation
APIs, the directory locations of libjvm.so and the libjvm.x DLL
sidedeck file are updated to improve consistency with the reference implementation. The library
search path (LIBPATH) must be updated to reference lib/j9vm or lib/server
directories. |
jextract (dump extractor tool) |
Changed | This is replaced by the jpackcore tool. |
javah (native header generation tool) |
Changed | This is superseded by functionality in the Java compiler (javac). |
| Unicode Consortium's Common Locale Data Repository (CLDR) | Changed | This is now enabled as default locale data. |
| Java version string-format | Changed | If your application relies on identifying the format of the old string, you must update your code. For more information, see Version String Format. |
| Ductus Java 2D renderer | Changed | OpenJDK uses the Marlin renderer. |
| Kodak Color Matching System library | Changed | OpenJDK uses the Little Color Matching System (LCMS) open source library. |
Removed in Semeru 11
| What's changing? | Status | How this affects you |
|---|---|---|
| 31-bit SDK package for z/OS | Removed | If your application uses 31-bit JNI libraries, you must port them to 64-bit JNI libraries. For more information, see Porting Java applications to 64-bit systems. |
|
System properties:
|
Removed | This property specified an alternative directory for security policy files, is removed.
When limited and unlimited jurisdiction policy files were moved to dedicated folders in version 8, this property became redundant and is therefore removed in this release. For more information about these properties in version 8, see SDK Security policy files. |
|
|
Removed | These properties have been removed. |
| IBM Object Request Broker (ORB) | Removed | The ORB relies on CORBA and RMI-IIOP, which were deprecated by Oracle in Java SE 9 and removed in Java 11. |
| Networking API (com.ibm.net (SocketKeepAlive)) | Removed | Use the Java SE 11 ExtendedSocketOptions class as an alternative to the networking API package (com.ibm.net (SocketKeepAlive)). |
| NIO Utilities API (com.ibm.nio (NioUtils)) | Removed | There are no known alternatives for this IBM API package. |
|
Language management API (com.ibm.lang (Thread Properties)) |
Removed | There are no known alternatives for this IBM API package. |
| Bidirectional support API (com.ibm.bidiTools) | Removed | Some bidirectional support is available in the java.awt and java.awt.font packages. For more information, see the Working with Bidirectional Text tutorial. |
| Blocked connector interrupts API (com.ibm.jvm (InterrruptibleThread)) | Removed | There are no known alternatives for this IBM API package. |
| RDMA API (com.ibm.net.rdma) | Removed | The jVerbs library is removed. |
| T2K font rendering engine | Removed | OpenJDK uses the open source Free Type font rendering library. |
| Monotype Lucida fonts | Removed | There is no direct replacement. |
| Simple Network Management Protocol (SNMP) package | Removed | Use Java Management Extensions (JMX) or SNMP4J as an alternative. |
Supported encoding code pages:
|
Removed | For a list of code pages that are available in OpenJDK 11, see Java 11 Internationalization guide: Supported Encodings. Note
that only 172 character sets are shown, instead of 173. The missing character set is
x-IBM29646C. |
| Downloads for 32-bit binary packages | Removed | If your application uses 32-bit JNI libraries, you must port them to 64-bit JNI libraries. For more information, see Porting Java applications to 64-bit systems. |
| String count field | Removed | substring() with a beginIndex value of zero can no longer
be shared. If performance is significantly degraded because char[] data is now
being copied, try reimplementing the code to avoid copying the String data. |
-Xzero option |
Removed | This was from a previous version of Java SDK. |
Java EE and CORBA technologies:
|
Removed | This was removed in accordance with Oracle JEP 320. The JEP describes how you can access alternative solutions. |
Java deployment technologies:
|
Removed | This change is due to the lack of support in modern browsers for Java plug-ins, and the
continuing trend for application developers to include a JRE with their applications, which can now
be achieved by using the jlink functionality that was introduced in Java SE 9. For
more information, see Oracle Java SE Support Roadmap. |
JVMTI hprof agent |
Removed | This was removed in accordance with Oracle JEP 240. |
Java SE APIs:
|
Removed | This was removed in accordance with Oracle JEP 162. Consider coding the global LogManager to detect changes
to the logging configuration by overriding the |
Java SE APIs:
|
Removed | This was removed in accordance with Oracle JEP 162. To monitor the progress of the packer, poll the value of the PROGRESS property instead. |
Java SE APIs:
|
Removed | This was removed in accordance with Oracle JEP 162. |
APIs:
|
Removed | These APIs have been removed. Note that other |
native2ascii (encoding conversion tool) |
Removed | Java 9 and later releases support UTF-8 based properties resource bundles. |