Monday, March 24, 2014

The Wait is Over: JDK 8 is Here!

Mark Reinhold's post JDK 8: General Availability announced the general availability of JDK 8 this past week. In this post I look at some of the plethora of posts and articles on JDK 8.

General JDK 8 Information

The JDK 8 Release Notes include links to many resources including to the post What's New in JDK 8 that outlines the new features of JDK 8. Other referenced pages include JDK 8 Adoption Guide, Java Platform, Standard Edition 8 Names and Versions, Known Issues for JDK 8, and the Java Platform Standard Edition 8 Documentation.

There are numerous other posts announcing JDK 8 availability. These include Java 8 officially arrives at last, Java 8 is going live today - here's your crib sheet, 8 new features for Java 8, Java SE 8 is Now Available, David Thompson's Six Important New Features in Java 8 (JDK 8), Lucy Carey's Java 8 is the biggest change to the syntax of the JVM since generics in Java 5, 5 Features In Java 8 That WILL Change How You Code, Happy 8th Birthday Java!, Java Developers Readiness to Get Started with Java 8 Release, Benjamin Winterberg's Java 8 Tutorial, and Pierre-Hugues Charbonneau's Java 8 is Now Released!

I've also previously referenced the useful Baeldung Java 8 page and the Java 8 Friday series of posts has useful details on Java 8.

IDE Support for JDK 8

The most commonly discussed Java IDEs (NetBeans, Eclipse, and IntelliJ IDEA) are providing support for JDK 8. NetBeans 8 was released in conjunction with JDK 8 and includes JDK 8 support. Daniel Megert announced "[Eclipse] Luna (4.4) builds contain the Eclipse support for JavaTM 8" and that support for Eclipse Kepler is available with a feature patch. IDEA 13.1 was released with JDK 8 support.

Lambda Expressions

Lambda expressions are arguably the most anticipated and biggest feature of JDK 8. Oracle has provided a Java SE 8: Lambda Quick Start. Other useful resources on JDK 8 lambda expressions include Java Lambda Expressions Basics, Java programming with lambda expressions, and Stephen Chin's Java 8 Released! — Lambdas Tutorial.

Date/Time API

A welcome new feature of JDK 8 is the Joda-inspired Date/Time API. Introductions to the new Java Date/Time API include Oracle's Java Date-Time Packages Tech Notes, Fabian Becker's A new Date and Time API for JDK 8, and Java Time API Now In Java 8.

Nashorn

Project Nashorn, which its OpenJDK page describes as "a lightweight high-performance JavaScript runtime in Java with a native JVM," was announced at JavaOne 2011 and is delivered with JDK 8. There is an Oracle Tech Notes Introduction to Nashorn along with other useful resources such as Java 8: Compiling Lambda Expressions in The New Nashorn JS Engine and Oracle Nashorn: A next-generation JavaScript engine for the JVM.

Miscellaneous New Libraries, Classes, and Tools

Michael Scharhag demonstrates StringJoiner in Java can finally join strings. Default methods are the subject of Ryan Kenney's Java 8 Default Methods and Multiple Inheritance. Java Mission Control 5.3 is also included with Oracle's JDK 8 (as it has been with JDK 7 since update 40). Other new features in JDK 8 include Calendar.Builder and the jdeps static dependency analysis tool. We also recently learned that JDK 8 will use TLS 1.2 as default.

Conclusion

The arrival of JDK 8 brings much to be excited about. Streams and lambda expressions rightfully dominate the discussion, but many other features of JDK 8 are sure to make Java quicker and easier to use. There is a lot to learn in JDK 8, but fortunately there are numerous freely available online resources to aid this effort. I've tried to summarize a small sample of those resources here.

3 comments:

Unknown said...

Your information about IntelliJ IDEA could use updating. IntelliJ IDEA 13.1 was released simultaneously with full Java 8 support. I originally read this on Dzone so you might want to update both posts.

@DustinMarx said...

Thanks Robert,

I have updated the sentence regarding IntelliJ IDEA 13.1 to reflect this and to reference that release announcement.

Dustin

Unknown said...

Thank you for your post and update.