Oracle Announces Java 9 Features

Oracle Java 9

Oracle has announced the first set of enhancement proposals (known as JEP 2.0 Proposal) that will deliver features for Java 9.

The goal of this Project is to produce an open-source reference implementation of the Java SE 9 Platform, to be defined by a forthcoming JSR in the Java Community Process. Java Enhancement Proposals are a new process that allow features for the Java language and virtual machine to be developed and explored without requiring a full specification process (JSR). This means that the scope of JEPs can be smaller and more targeted, and can also tackle issues that are specific to the OpenJDK implementation. Successful JEPs can then be converted to standardization requests (or bundled into existing Java standards as part of a point release of the standard).

The initial set of Java 9 features is small and rather conservative, but with almost 2 years to go before Java 9 ships the expectation is that many additional features will be added before a GA release.

Three new APIs have been announced (Click on each heading to know more about it):

102 : Process API Updates

Process API Updates for interacting with non-Java operating system processes.

110 : New HTTP Client

A new approach of HTTP Client that includes HTTP/2 support.

198 : Light-Weight JSON API

A new lightweight JSON API. The latter is expected to build upon the JSON support already standardized as part of JSR 353.

There are also three JVM / performance related features announced:

143 : Improve Contended Locking

Improve contended locking for better performance when threads are competing for access to objects

197 : Segmented Code Cache

Segmentation of the JIT compiler’s code cache (for better JIT performance on large applications)

199 : Smart Java Compilation, Phase Two

Further development of the “smart” Java compiler, sjavac, which promises parallel and shared compilation amongst other features.

Finally, one tantalizing feature has been promised

201 : Modular Source Code

This is not, as yet, the modularity solution known as Project Jigsaw (initially targeted as part of Java 8). Instead, this is a housecleaning exercise for OpenJDK, to lay the groundwork for modularity by creating and enforcing module boundaries whilst the JDK itself is being built. This is a first step towards full modularity even if the modules system is not visible to the developer or the runtime.

These JEPs are offered to all JDK 9 Committers for their consideration. Feedback is more than welcome, as are reasoned objections, via the jdk9-dev mailing list. If no such objections are raised by 19:00 UTC next Monday, 18 August 2014, or if they’re raised and then satisfactorily answered, then these JEPs will be targeted to JDK 9.

Other projects that are exploring the evolution of Java include Project Valhalla, and the Java Native Runtime (JNR) project, started by Charles Nutter (JRuby) as an overhaul of Java’s original native interface (JNI). At this time, it is not known whether either project will release technology that will form part of Java 9, but both projects are targeting areas of keen interest to Java developers.

Sharing is caring!

Leave a Reply

Your email address will not be published. Required fields are marked *