Oracle have announced more features to be delivered as part of JDK 9. The headline features is modularity, as we reported on Monday. However, a large number of other features have also been announced. The new features include:
- Unified JVM Logging - a complete overhaul of how the JVM reports events in its subsystems, replacing the ad-hoc and separate logs that Hotspot current generates.
- Remove GC Combinations Deprecated in JDK 8 - this is the removal of 3 outdated garbage collection combinations: DefNew + CMS, ParNew + SerialOld and Incremental CMS. These combinations were already deprecated in Java 8.
- Compiler Control - fine grained control of the Hotspot JIT compiler down to the level of being able to switch a specific optimization on or off at a per-method level.
- Milling Project Coin - tidying up a few leftover edge cases from Java 7's Project Coin (which delivered some small language changes).
The feature list also includes the completion of the warnings cleanup project that has been running for several years, as well as a cleanup of import handling. Importing deprecated classes will now no longer trigger warnings and some long-standing type resolution problems in javac will also be fixed.
Support for a couple of modern technologies was also announced - Datagram Transport Layer Security (DTLS) and an upgrade to the javadoc tool to output HTML5.
The current status of the in-flight JEPs also shows that primitive specialization of generics (to allow types such as List<int> without boxing of the primitive type) is not on the road map for JDK 9, and instead would target JDK 10.
A roadmap, milestones and expected release date for Java 9 have not been announced, but expectations are that it will be Autumn 2016. Oracle are trying to keep roughly a 2-year cadence between Java releases and the timeline for Java 8 shows that the GA release of Java 8 was almost exactly 2 years after the M1 build was released.