Roll up for the Java 8 Developer Preview

JavalogoThe Developer Preview for Java 8, aka Milestone 8 of JDK8 on Oracle’s schedule, has shipped. Mark Reinhold, Oracle’s Chief Java Architect, posted on his blog that this was a good time for developers who have been holding off trying out any of the previous 7 development milestones to give it a go as it is “intended for broad testing by developers”. Java 8 hit feature complete in June but the security issues that have been grabbing headlines and in some cases control of systems have been pushing the timeline out for Java 8 as developers have been pulled in to the security firefight.

So what’s in Java 8? Well, a big at last to JSR 310, a new Data and Time API which will hopefully eventually kill, and by kill I mean KILL IT WITH FIRE, the gifted by IBM hideosity of Java time handling and its ability to handle any calendar, even ones that never will exist. A big shout out to Stephen Colebourne who has wrestled with that problem for far longer than any sane person should.

The official headliner for Java 8 is JSR 355 aka Project Lambda aka what-do-you-get-if-everyone-has-a-pet-solution for Java closures which let you throw functions around more elegantly than the status quo of hacking up an anonymous class with a method. Here’s the current tutorial docs on the subject.

Other goodies include the new Nashorn JavaScript engine – Nashorn is german for Rhino, a previous Java-based JavaScript engine. Thats important. With JavaScript seeping through the entire stack (wether merited or not) its important that Java should have a good implementation. For other Java 8 features, check out the feature list as there’s plenty to take in like the Small VM, a standard API for Base 64 encoding and decoding, the removal of Hotspot’s Permanent Generation and a faster Javac.

The schedule for Java 8 has the final release candidate landing at the end of January 2014, and the release on 18 March 2014. Now is definately the time for testing. Downloads are available from the jdk8.java.net download page which also has links to documentation, change notes and more. Binaries for Windows, Mac OS X, Linux, Linux for ARMv6/7, Solaris SPARC and Solaris are available under an Oracle licence; the builds are based on the open source OpenJDK code.