New versions of Java are coming out every 6 months now. What has changed, should we upgrade, and if so, how?
Wasn’t Java 8 a fantastic update to the language? Lambdas and streams were a huge change and have helped to improve Java developers’ productivity and introduce some functional ideas to the language. Then came Java 9… and although the module system is really interesting for certain types of applications, the lack of exciting language features and uncertainty around how painful it might be to migrate to Java 9 left many applications taking a wait-and-see approach, happy with Java 8.
But now Java has a new version every six months, and suddenly Java 12 is here. We’re all still on Java 8, wondering whether we should move to a later version, which one to choose, and how painful it might be to upgrade.
In this session we’ll look at:
Why upgrade from Java 8, including language features from Java 9, 10, 11 and 12
What sorts of issues might we run into if we do choose to upgrade
How the support and license changes that came in with Java 11 might impact us.
There are two main versions of this. The most recent, at GOTO Amsterdam, gives the most comprehensive coverage of the
license and support changes:
The other version was from DevoxxUK. This probably has marginally fewer errors when
I try to demo JShell, if I recall correctly.
There’s another older video here, which contains a transcript
(might be useful if you don’t want to actually watch the whole thing!).
My video course on Moving to Java 9 is available on Safari or can be purchased via InformIT. This has details about the features from Java 9 that are most interesting to Java developers, and a guide on how to migrate to Java 9.
Java 13: JEP 354: Switch Expressions (Preview) has been changed from the Java
12 version: “To yield a value from a switch expression, the break with value statement is dropped in favor of a yield statement.”