Building Java 9

And the latest JDK 9 JEPs to be targeted are…

Coman Hamilton
Nine image via Shutterstock

The Java Executive Committee has signed off on a number of changes to the JDK in its ninth release, planned for mid-to-late 2016.

241 JEPs and two dozen targets – the team behind JDK 9 have been busy since last year’s announcements of Java 9 features. Here’s our TL;DR for the ten latest small and mid-sized projects to be targeted for JDK 9.

Process Import Statements Correctly (JEP 216)

Depending on the order of the imports, the current Javac will sometimes accept or reject the same source code. This is “wrong and confusing” says owner Jan Lahoda, who has successfully proposed to correct this.

Annotations Pipeline 2.0 (JEP 217)

The annotation features added in Java SE 8 have proven difficult to maintain. To this purpose it’s now planned to refactor the javac annotation pipeline. Other than bug fixes and full correctness, this enhancement won’t be noticed much by the average Java developer.

Datagram Transport Layer Security (DTLS) (JEP 219)

This enhancement aims to define a small API for versions 1.0 and 1.2 of the Datagram Transport Layer Security protocol. The increasing number of datagram-compatible applications make it all the more important that the JDK supports DTLS implementations for securing applications.

SEE ALSO: Behind the scenes of Java 9 – how new features get made

HTML5 Javadoc (JEP 224)

The javadoc tool is currently generating pages in the older HTML 4.01 standard. This update will provide an option to javadoc to request output in either HTML4 or HTML5 (the current standard).

Add More Diagnostic Commands (JEP 228)

This one will do exactly what it says on the tin. In order to “improve the diagnosability of Hotspot and the JDK”, additional diagnostic commands will be defined, such as print_class_cummarydump_codelist and print_vm_state.

Create PKCS12 Keystores by Default (JEP 229)

This enhancement will transition the default keystore type from the older, JDK-specific JKS (which can only store private keys and trusted public-key certificates) to the more widely-supported PKCS12, which will “improve keystore integrity and confidentiality”.

Microbenchmark Suite (JEP 230)

The JDK 9 source code will feature a basic suite of microbenchmarks (including around 100 benchmarks) and make it easier for devs to run and create new microbenchmarks.

Test Class-File Attributes Generated by javac (JEP 235)

It’s been accepted that class-file attributes haven’t had enough test coverage and decided that all class-file attributes should be tested to ensure they are correctly generated.

Parser API for Nashorn (JEP 236)

The JDK is to receive its own parser API for Nashorn‘s ECMA Script abstract syntax tree. Popular in IDEs like NetBeans, Nashorn’s internal implementation classes are currently prevented from evolving freely due to its current JDK implementation.

Linux/AArch64 Port (JEP 237)

A new OpenJDK port is to be made for AArch64, the latest processor architecture from ARM, which is “effectively a complete redesign” of the previous 32-bit ARM processor architecture.

Summer/Autumn 2016

Java 9 is scheduled for a Summer/Autumn release in 2016, although previous releases have been subject to delays. In August last year, the JDK team led by Mark Reinhold announced several new features to be implemented for Java 9, such as a HTTP2 Client and process API updates, with more targeted features announced in November.

After a lukewarm community response, the ‘lightweight’ JSON API, initially planned for Java 9, was later dropped from JDK 9 to make room for other features.

Coman Hamilton
Coman was Editor of at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous news, tech and culture websites and magazines, as well as several ad agencies.

Inline Feedbacks
View all comments