"What´s New for Developers Moving from Java 11 to 17?"
Stop writing boilerplate. See how Java 17's records, pattern matching, and text blocks can immediately improve your code's readability and safety.
#1about 4 minutes
Understanding the new Java LTS release cadence and licensing
Java's long-term support (LTS) release cycle has shifted from every three years to every two years, and Oracle JDK 17 introduces a new no-cost license for commercial use.
#2about 3 minutes
Using text blocks for more readable multiline strings
Text blocks simplify creating multiline strings, such as formatted HTML or JSON, by using triple quotes to avoid concatenation and escape characters.
#3about 4 minutes
Simplifying logic with enhanced switch expressions
The enhanced switch expression uses arrow syntax to return values, supports multiple case labels, and eliminates the need for `break` statements, preventing fall-through errors.
#4about 3 minutes
Reducing boilerplate with pattern matching for `instanceof`
Pattern matching for the `instanceof` operator allows you to check an object's type and cast it to a new variable in a single line, simplifying type-checking logic.
#5about 4 minutes
Advanced case selection with pattern matching for switch
The preview feature of pattern matching for switch statements enables matching cases by type and adding conditional guards, making switch logic more powerful and expressive.
#6about 3 minutes
Creating immutable data classes easily with records
The `record` keyword provides a concise way to create immutable data carrier classes by automatically generating constructors, getters, `equals()`, `hashCode()`, and `toString()` methods.
#7about 4 minutes
Controlling class inheritance with sealed classes and interfaces
Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them, providing finer-grained control over your class hierarchy.
#8about 2 minutes
A simpler way to collect streams into a list
The new `Stream.toList()` method offers a more concise alternative to `collect(Collectors.toList())` for gathering stream elements into an unmodifiable list.
#9about 2 minutes
Understanding the new random number generator API
Java 17 introduces a new, more extensible API for random number generation centered around the `RandomGenerator` interface, providing a unified way to access various algorithms.
#10about 1 minute
Debugging faster with helpful NullPointerExceptions
NullPointerExceptions now provide detailed messages that specify which variable was null, significantly speeding up the debugging process.
#11about 2 minutes
Summary of changes and considerations for upgrading
The updates from Java 11 to 17 are mostly handy, incremental improvements rather than groundbreaking changes, making the upgrade beneficial but dependent on project constraints.
#12about 14 minutes
Q&A on upgrading, records, and framework compatibility
The Q&A session addresses when to upgrade from non-LTS versions, potential blockers like framework compatibility, and specific questions about records versus Lombok.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
17:35 MIN
Major language enhancements from Java 12 to 17
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
01:23 MIN
Exploring new language features from Java 12 to 17
Using Java 17 latest features in real world projects
03:16 MIN
What's new in the Java 21 LTS release
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
02:44 MIN
Understanding Java's release cadence and LTS strategy
The Cool Thing about Cool Things in Java 16 & 17 LTS
01:15 MIN
Understanding Java SE 11 and 17 compatibility
Get Ready for Jakarta EE 10!
06:19 MIN
Examining the future of Java and its competition
Best of Java 15 and beyond—my favorite features
01:43 MIN
The compelling case for migrating to modern Java
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
02:31 MIN
Concluding thoughts on Java's modernization progress
Using Java 17 latest features in real world projectsWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Ron Veen who introduced the audience to some of the most interesting features that got added to the Java language.About the speaker:Ron is a hig...
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take partStarting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
Benedikt Bischof
Java BasicsIn 1991,James Gosling invented a high-level, general-purpose, object-oriented andsecure programming language and called it OAK (after a tree in front of hiswindow). And four years later, in 1995, it was renamed after one of the GreaterSunda Islands: ...
From learning to earning
Jobs that call for the skills explored in this talk.