JDK 10: These are the features that made the cut
© Shutterstock / Anastasiika
It’s official. The next Java version will be called JDK 10. Now that everything is clear, Rampdown Phase One can begin. These are the features that made the cut.
It’ll be smooth sailing from here on! Now that we know for a fact that JDK 10 is the next Java version, the schedule can run its course. Rampdown Phase One has just begun, in which the focus lies on fixing bugs.
No further JEPs will be targeted to this release.
Phase two should begin in mid-January, followed by Final Release Candidate in late February and GA in late March.
In a message to the OpenJDK mailing list, Mark Reinhold suggested that “we use the same process as in JDK 9, with one significant change: From this point forward any further enhancements require advance approval, using a simple request process along the lines of our other request processes. In such a short release cycle there’s hardly any time to repair enhancements gone wrong, so let’s keep an eye on them.”
See the RDP 1 page for the proposed process details.
JDK 10 features
286: Local-Variable Type Inference
Enhance the Java Language to extend type inference to declarations of local variables with initializers.
296: Consolidate the JDK Forest into a Single Repository
Combine the numerous repositories of the JDK forest into a single repository in order to simplify and streamline development.
304: Garbage-Collector Interface
Improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface.
307: Parallel Full GC for G1
Improve G1 worst-case latencies by making the full GC parallel.
310: Application Class-Data Sharing
To improve startup and footprint, extend the existing Class-Data Sharing (“CDS”) feature to allow application classes to be placed in the shared archive.
312: Thread-Local Handshakes
Introduce a way to execute a callback on threads without performing a global VM safepoint. Make it both possible and cheap to stop individual threads and not just all threads or none.
313: Remove the Native-Header Generation Tool (javah)
Remove the javah tool from the JDK.
314: Additional Unicode Language-Tag Extensions
Enhance java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags.
316: Heap Allocation on Alternative Memory Devices
Enable the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.
317: Experimental Java-Based JIT Compiler
Enable the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.
319: Root Certificates
Provide a default set of root Certification Authority (CA) certificates in the JDK.
322: Time-Based Release Versioning
Revise the version-string scheme of the Java SE Platform and the JDK, and related versioning information, for present and future time-based release models.