IBM SDK, Java Technology Edition, Version 8: Beta program, latest news and information
Release information for the latest IBM SDK, Java Technology Edition, Version 8 beta packages.
The beta program provides licensed access to the latest IBM SDK, Java Technology Edition, Version 8 beta. The content of the beta and any supporting documentation is subject to this Disclaimer.
This release information covers all platforms that are provided for the beta. Documentation is available only in the English language. For a draft set of user guides and supporting API documentation, see IBM SDK, Java Technology Edition, V8 Library.
A new beta download is available (January 2015).
Packed object support is provided as a technology preview. The packed object support feature is an IBM enhancement to the SDK that allows greater control over the layout of objects in memory. This capability enables greater flexibility when dealing with non-Java memory structures, for example, when exchanging and using data between Java and other languages or environments. The feature also enables the optimization of some patterns of Java objects to reduce overall size and improve the access efficiency. There are significant changes to packed object support in this technology preview, compared to earlier technology previews that were provided with the beta program. For more information about these changes, see
Changes to the packed object technology preview.
Improved tracing for the Object Request Broker (ORB)
Component level tracing is now available to improve the debugging of ORB problems. A new system property can be set to generate trace information for one or more ORB components, such as DISPATCH or MARSHAL.
A Little Endian version of the SDK for IBM POWER8™ systems is now available.
This release of the beta contains the GPU support that is available with IBM SDK, Java Technology Edition, Version 7 Release 1 service refresh 2:
- You can use application programming interfaces to specify in your application exactly when to offload processing from a CPU to a GPU.
- You can allow the Java virtual machine to decide which workloads are suitable for moving to a GPU for processing.
The ORB automatically manages the number of concurrent connections to the server endpoint, which can improve efficiency. If you want to retain control of these connections, you can turn off this feature by setting the system property
The Java Native Interface (JNI) now enables runtime linking to static native libraries.
A new option is available for securing space in memory for any native classes, monitors, and threads that are used by compressed references. Setting this option can help prevent
OutOfMemoryError exceptions that might occur if the lowest 4 GB of address space becomes full.
-Xdump suboption is available that allows you to filter dump events to produce dumps only for exceptions that contain a specific text string in the exception detail message. This capability allows you to fine tune the point at which a dump is produced, and reduce the time taken for problem diagnosis.
This feature is not available as part of the beta program. However, this evaluation technology continues to be supported and evaluated by the technical community. See
Multitenant JVM community.
JavaFX application launcher
This feature is added in Oracle
JEP 153. However, JavaFX is not supported by the IBM SDK, Java Technology Edition, Version 8. An error occurs if you attempt to run a JavaFX application from the command line.
The performance of the beta 5 release is improved compared to the beta 4 release. Further performance optimizations are expected.
Packed Object Support
An intermittent issue is seen on x-86 systems when the JIT compiler compiles methods that use @Packed types. When this issue occurs, the following output is generated at the console:
- Set the JAVA_COMPILER environment variable to NONE before you start the Java application.
- Use the -Djava.compiler=NONE <class> option on the JVM command line.
- Use the -Xint option on the JVM command line. For example, java -Xint <class>.
Type=Segmentation error vmState=0x0005ff05
Method_being_compiled=<...method name ...>
You can work around this issue by turning off the JIT compiler. There are several options available for turning off the JIT compiler:
The following Oracle security enhancements are not currently available:
The JRIO function was deprecated in the IBM SDK, Java Technology Edition, Version 7 and is removed from Version 8. As an alternative, use the record I/O facilities that are provided in the JZOS component.
Annotation Processing Tool (APT)
The APT tool was deprecated in Oracle Java SE Version 7 and is removed in Version 8. This tool is superseded by the Pluggable Annotation Processing API (JSR269).
Java communications API
This function is not available.
Go back to top
Changes to the packed objects technology preview
There are significant changes to packed object support in this technology preview, compared to earlier technology previews that were provided with the beta program.
For this technology preview, the following changes apply:
- The PackedObject class is now a subclass of Object.
- Support is added for abstract packed classes.
- Packed arrays have a new syntax.
- There is a new version of the Packed JNI extension API.
- JIT compiler support is extended.
For more information, see the following sections:
- Reflection support for packed objects is extended. Methods and constructors of packed objects can now be reflected.
- You no longer need to box packed objects. Therefore, the helper class BoxedPackedObject is removed.
- @Packed classes can implement interfaces.
The PackedObject class is now a subclass of Object. Consequently, the following changes apply:
Abstract packed classes
You can now declare a packed class as abstract. You can also extend an abstract packed class to define other packed classes. When you extend an abstract packed class, declare the parent class in the subclass by using the @ImportPacked annotation. For more information, see the user guide topic Abstract Packed Classes.
Packed array syntax
There are changes to the syntax you must use when you define or use packed arrays. For more information, see the user guide topic Packed arrays.
Packed JNI extension API
There is a new version of the Packed JNI extension API. Previous versions of the extension API are not supported. For more information, see the user guide topic Interfacing with the JNI.
JIT compiler support
JIT support is extended to all IBM SDK, Java Technology Edition, Version 8 platform architectures. However, for 64-bit JVMs, the JIT compiler does not support packed objects in compressed references mode. If packed object support is enabled, compressed references mode is turned off.
- Generalized Target-Type Inference JEP 101
- Parallel Array Sorting JEP 103
- Annotations on Java Types JEP 104
- DocTree API JEP 105
- Add Javadoc to javax.tools JEP 106
- Bulk Data Operations for Collections JEP 107
- Enhance Core Libraries with Lambda JEP 109
- Charset improvements JEP 112
- MS-SFU Kerberos 5 Extensions JEP 113
- TLS Server name Indication (SNI) Extension JEP 114
- AEAD Cipher Suites JEP 115 (Already available in earlier versions of the IBM SDK)
- Remove the Annotation-Processing Tool (apt) JEP 117
- Access to Parameter Names at Runtime JEP 118
- javax.lang.model Implementation Backed by Core Reflection JEP 119
- Repeating Annotations JEP 120
- Stronger Algorithm for Password-Based Encryption JEP 121 (generating 2048-bit DSA and Diffie-Hellman public key pairs is already supported in earlier versions of the IBM SDK)
- Enhance the Certificate Revocation-Checking API JEP 124
- Lambda Expressions & Virtual Extension Methods JEP 126
- Improve Locale Data Packaging and Adopt Unicode CLDR Data JEP 127
- BCP 47 Locale Matching JEP 128
- NSA Cipher Suites JEP 129 (Already available in earlier versions of the IBM SDK)
- SHA-224 Message Digests JEP 130 (There is limited support of SHA224 algorithm in earlier versions of the IBM SDK)
- PKCS#11 Crypto Provider for 64-bit Windows JEP 131
- Unicode 6.2 JEP 133
- Base64 Encoding & Decoding JEP 135
- Enhance javac to Improve Build Speed JEP 139
- Limited doPrivileged JEP 140
- Date & Time API JEP 150
- Launch JavaFX Applications JEP 153 Note: JavaFX is not supported by IBM SDK, Java Technology Edition, Version 8
- Concurrency Updates JEP 155
- Prepare for Modularization JEP 162
- Leverage CPU Instructions for AES Cryptography JEP 164
- JDBC 4.2 JEP 170
- Fence Intrinsics JEP 171
- DocLint JEP 172
- Mechanical Checking of Caller-Sensitive Methods JEP 176
- Optimize java.text.DecimalFormat.format JEP 177
- Statically Linked JNI Libraries JEP 178
- Document JDK API Support and Stability JEP 179
- Handle Frequent HashMap Collisions with Balanced Trees JEP 180
- HTTP URL Permissions JEP 184
- Restrict Fetching of External XML Resources JEP 185
Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.