JB Header
Java 9 released on 21-Sep-2017 after several rounds of delays
UPDATE(21-Sep-2017): Java 9 has been released today.

UPDATE: The original article published on 14-Sep-2016 has been updated on 26-Oct-2016 as the proposed change of dates in Java 9 GA has been accepted.

Update: 26-Oct-2016 - As per the latest communication from Mark Rheinhold3, the proposed change in Java 9 GA (General Availability) has been accepted. The new planned date for GA is now 27-July-2017.

Here's the new Java 9 proposed schedule for the interim milestones -
DateMilestone
2016/05/26Feature Complete
2016/12/22Feature Extension Complete
2017/01/05Rampdown Start
2017/02/09All Tests Run
2017/02/16Zero Bug Bounce
2017/03/16Rampdown Phase 2
2017/07/06Final Release Candidate
2017/07/27General Availability
Java 9 is set for a second delay in the span of little more than a year. Instead of the targeted March 2017 GA release date, it is now being proposed to extend the timelines to July 2017.

The reason behind the delay seems to be the same as was for the previous lag - project Jigsaw. Project Jigsaw is the modular re-organization of JDK. It aims to make Java runtime leaner and is a change which aims to correct 20 years of dependency (mis)management in the JVM(Java Virtual Machine). Instead of having a big chunk of runtime dependencies, modules aim for a concentric ladder like dependency structure, with the higher modules growing in size, yet being dependent on the lower modules.

Project Jigsaw seems to be shaking up, rather expectedly, the entire Java architecture around dependency management. As per the latest mail communication from Mark Reinhold1,Chief Architect of the Java Platform Group, there has been a recent design rejig around the area of package exports in Jigsaw. More importantly, the mail says that there are still open design issues. This clearly implies that the Jigsaw team is still moving to and fro between the design board and the implemented code. And the original GA release date of March 20172 is now appearing to be a long shot.

In my opinion, 4 months is still not that big a delay. In fact, even a further addition of 2-3 months would be fine as long as the newly designed modular architecture is stable. The reason why the Jigsaw team should be given the legroom they require is that with the revamped modular design, and the removal of external access to classes such as the notorious Unsafe class, the adoption of Java 9 may turn out to be a seismic event in the world of "existing" Java applications.
The fact that all currently running systems will have to validate their dependency management and overcome issues which are sure to surface. (One cannot be sure of this fact but I guess Murphy's laws wouldn't be willing to spare Java as an exception!! Or as the character in the movie Interstellar remarked - Murphy's law states that - "Whatever can happen will happen"...).

So, come Java 9, and Project Jigsaw, one can expect some major cry-outs by affected teams. But as the Java Platform Group's inherent belief seems to be that 'better late than never', so Jigsaw is one puzzle which all Java and JEE teams will have to unravel and endure with a grin for the betterment of the Java ecosystem as a whole...


1. http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-September/004887.html
2. http://openjdk.java.net/projects/jdk9/
3. http://mail.openjdk.java.net/pipermail/jdk9-dev/2016-October/005092.html