Oracle has announced the schedule for Java 9, aiming at a generally available release date of September 2016. The schedule follows Oracle’s plans to release a new major version every two years, although contrasting to previous releases the currently proposed deadline might be at risk for some slippage.
Most of the necessary JSRs have been filed to this date; by comparison, work on the umbrella JSR that defines contents for Java 8 started in late 2010, roughly three years before its initial target for general availability. This is also true for the some of the most representative projects in Java 9, like Project Kulla (creating a REPL for Java); again, by comparison, the JSRs for some of the most representative projects in Java 8 (Lambdas, new Date/Time API) were filed years before the target date.
When facing similar situations before, Oracle has reduced scope to stick to the schedule. Mark Reinhold, Chief Architect of the Java Platform Group at Oracle, has previously said:
it’s best to structure the Java development process as a continuous pipeline of innovation that’s only loosely coupled to a regular, rhythmic release process. If a major feature misses its intended release train then that’s unfortunate but it’s not the end of the world: It will be on the next train, which will also leave at a predictable time.
This two-year cadence shouldn’t come as a surprise to long-time Java developers. As shown in Table 1, earlier versions of Java were also delivered at this pace. The main difference in the schedule management comes from the shortening of the different Java versions: Oracle aims at three years as the public life for each Java version, roughly half of what earlier versions used to last. This plan implies that users will have only one year to migrate from one major version to the next one, unless commercial support is purchased.
Version |
General Availability |
EOL |
Life Duration |
Different with Previous |
Overlap with Previous |
3 (1.3) |
May 2000 |
2006 |
6 |
2 |
-- |
4 (1.4) |
Feb 2002 |
Oct 2008 |
6 |
2 |
4 |
5 |
May 2004 |
Dec 2009 |
5 |
2 |
4 |
6 |
Dec 2006 |
Feb 2013 |
6 |
2 |
3 |
7 |
Jul 2011 |
Apr 2015 |
4 |
5 |
1.5 |
8 |
Mar 2014 |
May 2017* |
3 |
3 |
1 |
9 |
Sep 2016* |
TBD |
TBD |
2 |
1 |
Table 1. Release and EOL for different Java versions. ‘*’ indicates scheduled date. Source.
With only one year to upgrade from one Java version to the next one, developers in the Java community are encouraged to test their tools and libraries with any new version as soon as possible. Mani Sarkar, administrator of the Adopt OpenJDK project, said
to bring the testing process to the community and also testing early for early feedback, the "Testing Java" project has been started and supported by the @LJCJug and OpenJDK (i.e. Oracle). Thanks to this project, developers can fix any issues or change the way their tool works on Java 9 or even the other way around, identify and fix issues in the JDK itself.
Correction: 11th June 2015
This article incorrectly described Project Valhalla as targeted for Java 9 and Project Jigsaw as not having an associated JSR. In reality, work on Project Valhalla is partially available in the development version of Java 9 but its completion is targeted to Java 10, while Project Jigsaw is associated to JSR 376.