It might seem like like you’ve only just started getting to grips with Java 8, but over at Oracle Towers, sights are firmly fixed on future releases. Yesterday evening, Chief Architect of the Java Platform Mark Reinhold despatched the proposed schedule for Java 9.
If you’ve not seen it yet, here’s the provisional timeline (on the basis that things go more smoothly than they did with Java 8, anyway):
2015-12-10 Feature Complete
2016-02-04 All Tests Run
2016-02-25 Rampdown Start
2016-04-21 Zero Bug Bounce
2016-06-16 Rampdown Phase 2
2016-07-21 Final Release Candidate
2016-09-22 General Availability
As Reinhold notes, whilst maintaining the rough two year cadence Oracle has set for shipping a major release, these dates are set to allow for substantial leeway for full testing and review of the big headline features in the platform update. Notably, this includes the modularisation of the Java platform and introduction of a module system.
‘Project Jigsaw’, aka JSR 376, was originally mooted for inclusion in Java 8, however the groundwork needed to break down the platform proved to intensive to get in into the final build. Whilst there was disappointment from the community around this delay, modularity has served to become one of the key selling points for Java 9 – albeit one that’s largely targeted at the enterprise.
Other significant features that could make it to 9 include REPL (read-eval-print loop – currently being investigated in ‘Project Kulla‘), which Java Language Architect Brian Goetz has commented could be the real “sleeper” feature in JDK 9, and potentially “one of those ‘once you have it, you don’t know how you lived without it’ features.” Already a characteristic of dynamic and functional languages, REPL will allow Java devs to interactively evaluate statements and expressions.
Joining these will be a light-weight API for consuming and generating JSON documents and data streams. Whilst there are alternatives for dealing with JSON in Java, this API will be part of the language itself, leveraging the new capabilities that came with Java 8. There’s also new improved contended locking, and segmented code caching.
And finally, coming on the heels of Java 8’s long awaited Data and Time API, there’s the Money and Currency API, which, as you probably guessed, provides an API for representing, transporting, and performing comprehensive calculations with money and currency.
Should there be no significant comments or objections, it looks like September 22nd 2016 will be the day to get ready for Jigsaw-style Java.