Today is the day! After a [rather long] wait, JDK 9 is finally here!

JDK 9 has plenty of new features (you can find more details in my presentation, “55 New Features in JDK 9”) but, from a developers perspective doesn’t quite have the excitement we had with JDK 8 and the introduction of Lambda expressions and the Stream API.

However, as I’m sure we all know, the big thing in JDK 9 is the introduction of the Java Platform Module System (JPMS). Mark Reinhold and the whole Java Engineering team at Oracle deserve a big vote of thanks for persevering with this project, listening to feedback from the community and getting the Jigsaw puzzle finished.

Moving to JDK 9 will, potentially, require a bit more work than other releases have in the past. At the language, library and JVM level there are a few things that need thought (I’ve detailed these in an earlier blog post), but the encapsulation of non-public APIs by the JPMS is the thing that will need most consideration. Thankfully, with the addition of command line options like –add-exports, –add-opens and –illegal-access this should all be relatively straightforward. I’ll be doing a webinar on the subject of moving applications from JDK 8 to JDK 9 after JavaOne. Watch out for details shortly.

Here at Azul, we’ve been tracking the builds of JDK 9 on the OpenJDK project and ensuring that our Zulu binary distributions have been available for early access testing. Now that JDK 9 has been released for general availability (GA) Zulu 9 is also GA. You can download it from here, for free with no licensing restrictions. We’ve even included a certificate to guarantee that we’ve run (and passed) all the required Java SE TCK tests to ensure that this is a fully conformant distribution.

It’s a new day, a new JDK, time to download and use Zulu 9!