WeAreDevelopers LIVE Feb 1, 2022

"What´s New for Developers Moving from Java 11 to 17?"

Daniel Strmečki

Tired of writing endless DTO boilerplate and redundant casting? Discover how Java 17's native records, text blocks, and enhanced pattern matching drastically streamline your daily coding workflow.

Pause
Mute Enter Fullscreen
#1 about 3 min

Migrating applications from Java 11 to Java 17

The session outlines the agenda for exploring nine key developer features introduced between Java 11 and Java 17.

#2 about 2 min

Oracle JDK 17 free simple license terms explained

The new simple license term allows commercial use of Oracle JDK 17 at no cost for three years.

#3 about 1 min

Changes to the Java long-term support release cadence

Oracle transitions from a three-year to a two-year release cycle for long-term supported Java versions.

#4 about 3 min

Configuring IDEs and build tools for Java 17

Enabling preview language features in IntelliJ and Maven compilers is necessary to test modern Java capabilities.

#5 about 3 min

Improving HTML string readability using multi-line text blocks

Text blocks simplify multi-line string definitions by eliminating the need for extensive concatenation and explicit newline characters.

#6 about 4 min

Streamlining statement logic with the enhanced switch syntax

The enhanced switch introduces multiple comma-separated cases and specialized syntax that prevents automatic execution fall-through.

#7 about 3 min

Simplifying object type checking with instanceof pattern matching

Pattern matching for the instanceof operator eliminates boilerplate casting by directly assigning valid objects to scoped variables.

#8 about 4 min

Finer case selection using pattern matching in switch

Preview features in switch statements permit matching by variable type and adding boolean execution logic to individual cases.

#9 about 3 min

Eliminating boilerplate DTO code with Java record keywords

The record keyword auto-generates constructors, field getters, and standard methods to rapidly scaffold simple internal configuration objects.

#10 about 4 min

Controlling class inheritance hierarchy using sealed classes

The sealed keyword restricts interface and class extension by explicitly defining which permitted subclasses can implement the methods.

#11 about 2 min

Converting streams to immutable lists using standard methods

The streamlined stream collection method directly produces an immutable list containing potential null values without requiring collector utility classes.

#12 about 3 min

Generating numbers safely via the random generator interface

Recommended random data implementations now utilize robust and extensible core interfaces instead of the legacy thread-unsafe random class.

#13 about 2 min

Debugging faster with explicit null pointer exception details

Updated Java stack traces explicitly identify the exact missing variable reference that ultimately triggered a null pointer failure.

#14 about 2 min

Summarizing the minor API updates across the JDK releases

The transition from Java 11 to 17 primarily revolves around incremental API improvements rather than disruptive application architecture shifts.

#15 about 5 min

Evaluating upgrade feasibility and deprecated framework functionalities

Upgrading depends heavily on validating application framework compatibilities and avoiding reliance on actively deprecated core Java modules.

#16 about 4 min

Comparing native Java records with the Lombok plugin

While native records easily replace basic data classes, comprehensive code generation utilities still fulfill highly complex programming requirements.

#17 about 5 min

Discussing modern Java language evolution and syntax innovations

Language maintenance consistently focuses on slowly adopting stabilized external syntax variations while strictly safeguarding critical backward ecosystem compatibility.

Matching moments

10:10 min

Java 16 and 17 release cadence and migration strategies

Mohamed Taman · LIVE

17:35 min

Major language and productivity upgrades from Java 12 to 17

Jonathan Vila · LIVE

3:37 min

Choosing Java 17 for modern Spring Boot applications

Josh Long · WWC 2022

1:47 min

Reviewing modern Java features from version 12 to 17

Ron Veen Ron Veen · WWC 2022

2:27 min

Summarizing the path forward for Java evolution

Michael Inden · LIVE

3:16 min

Significant performance and language features launching in Java 21

Jonathan Vila · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

Look What Java Can Do Now: Live-Coding a GenAI MCP Server with the JAQ Stack

Suren Konathala

Senior Engineering Leader, Marketing & AdTech, AI GTM & Digital Experience Platforms, Java x AI

Suren Konathala
Open session

World Congress 2026 North America

From Cloud Native to Multi-Cloud Native: Write Once, Deploy Anywhere

Sandeep Pal

Principal Member of Technical Staff at Salesforce

Sandeep Pal
Open session

World Congress 2026 North America

From Legacy to Longevity – How a 17-Year-Old System stayed Modern

Alexander Arians

Empowering Engineers to drive innovation

Alexander Arians
Open session

World Congress 2026 North America

There's no dark factory without better software verifiers

Dexter Horthy

Co-Founder, HumanLayer

Dexter Horthy
Open session

World Congress 2026 North America

Small LLM in your Browser: Huge Opportunities for Web Applications

Daniel Ostrovsky

UI/UX Architect at Payoneer | AI Architect | Full Cycle Development Expert | Public Speaker | Open Source Contributor |

Daniel Ostrovsky