MMS • RSS
Java 11 has arrived. The new release is the first planned appearance of Oracle’s long-term support (LTS) releases, although Oracle have also grandfathered in Java 8 as an LTS release to help bridge the gap between the old release model and the new approach.
The feature list for the new version has only evolved modestly since InfoQ reported on this earlier in the year, and the major new features in Java 11 are:
- Nest-based access controls (aka “Nestmates”): revisits the implementation of inner classes and eliminates the need for compilers to insert bridge methods.
- Dynamic class-file constants (aka “condy”): reduces the cost and disruption of creating new forms of materializable class-file constants and opens the door to new performance and platform approaches.
- ZGC (Experimental): a brand-new garbage collector designed for sub-10ms pause times (even on large heaps) with an aim of no more than a 15% performance penalty.
- Flight Recorder: low overhead data collection framework for troubleshooting Java applications and the HotSpot JVM, previously a commercial feature, now open-sourced.
- New standard HTTP library: A new module java.net.http that standardizes the incubating API and allows flow-based HTTP/1.1 and HTTP/2 support
- TLS 1.3: Implement the recently standardized new version of Transport Layer Security
- Local-Variable Syntax for Lambda Parameters: Updating the lambda syntax to use the var type-inferencing introduced in Java 10.
The new release also removes some older features to try to streamline the core Java product:
- Java EE and CORBA Modules: Require applications to explicitly depend upon EE and CORBA modules if they require them.
- Web Start: This feature has been removed with no clear replacement
- Applets: These have been heavily deprecated for some time and are finally removed.
- JavaFX: The FX libraries have moved to the OpenJFX project and are removed from the core.
In particular, the EE modules contain the support for JAXB and SOAP – both components that are still in relatively widespread use in many enterprises. Development teams that upgrade to the new version should check carefully whether they will need to modify their build scripts to take these changes into account.
Georges Saab, Vice President of Software Development in the Java Platform Group at Oracle commented on the new LTS model for Java:
The LTS model releases enable our customers to migrate from one well-supported Java SE LTS release to the next at their own pace, while at the same time allowing the Java developer ecosystem to get access to improvements faster than before.
Examples of the new features can be seen in a presentation from earlier this year and some of the new class file format changes (including condy and nestmates) are discussed in an interview with Rafael Winterhalter, creator of ByteBuddy.
Java 11 will be available for download from Oracle’s official download site and from other vendors but at press time the website had yet to be updated. The support model for Java 11 has changed from previous versions, and InfoQ has previously reported on the details of the new model.