Java 21 Release Party

Java 21 Release

Java 21 Release Party

Deep Dive Into the New Features

Recording available until 19. December 2023

Recording available until

Days
Hours
Minutes
Seconds
This Live Event Has Ended

Discover the New Features of Java 21

Java 21 is the next major long-term support release for the popular programming language.

Many strands come together here, the experimental features reach maturity, innovations such as pattern matching, virtual threads and unnamed classes raise developer productivity to a new level.

Join our Java 21 Release Live Event to get the latest from our experts Falk Sippach, Michael Inden and Sven Woltmann.

We bring you up to speed and show you what Java 21 has to offer!

Program

All times are CEST 

After years of development and nearly 100,000 modified lines of code in the JDK, Java 21 brings us the final version of Project Loom’s virtual threads. In this talk, you will learn everything you need to know about them.

Through an example application, you will discover what virtual threads are, why we need them, how to use them, their advantages over existing concurrent programming models, and how they work under the hood.

However, we all know that all that glitters is not gold – so you will also find out what virtual threads cannot do, when not to use them, and what pitfalls you should avoid when migrating to virtual threads.

This talk covers several interesting syntax and API innovations in the brand-new Java 21. We will cover the following JEPs:

• JEP 430: String Templates
To format strings containing texts and variable components, there are different variants in Java, starting from the simple concatenation with + up to the formatted formatting. String templates supplement the previous variants by an elegant possibility of specifying expressions, which are evaluated by a particular template processor at runtime and integrated into the string suitably.

• JEP 431: Sequenced Collections
Java’s Collection API is one of JDK’s oldest and most well-designed APIs and contains three major types: list, set, and map. What is missing is something like an ordered sequence of elements. To solve this now, «Sequenced Collections» represent a collection whose elements have a defined encounter order.

• JEP 443: Unnamed Patterns and Variable
When using record patterns, one sometimes finds that some components are not of interest during the evaluation, such as the street name of an address. Something similar is known from lambdas when not all variables on the left side are used on the right side in the expression. Also, when handling exceptions, sometimes the exception variable is not accessed. In all these cases, it would be conceptually unnecessary to name some variables explicitly, often resulting in one-letter name abbreviations. It would be better to be able to label them specifically. This JEP addresses this.

JEP 445: Unnamed Classes and Instance Main Methods 
Maybe learning Java was a while ago for you. If you want to learn or teach Java as/to novice programmers, you realize how difficult it is to get started. This JEP tries to make it easier to get started with Java and to make it as comfortable as possible for smaller experiments, especially in combination with Direct Compilation.

For ease of comprehension, notes are also provided on support for build tools and IDEs, or running on the console, as well as the Java Almanac.

Together with the final release of virtual threads, Java 21 brings us the first preview releases of structured concurrency and scoped values – two more features from Project Loom that will significantly simplify writing concurrent programs.


In part one of this talk, you will learn, through an example, how to use structured concurrency to break down a task into multiple concurrent, potentially blocking subtasks, how to merge their results, and how to cancel subtasks whose results are no longer needed – all that with just a few simple lines of code.

In part two, you’ll discover how to use scoped values to exchange immutable data between various parts of a program – without the need for method arguments or thread-local variables.

Pattern matching is a mechanism to check values against patterns. If a match is found, these values can then be broken down into their constituent parts and thus easily and safely processed further. This concept, which is primarily known from functional programming languages, is thus a very powerful and flexible alternative to classic switch statements or if/else statement cascades. For several years now, the JDK incubator project Amber has been working on the introduction of pattern matching in Java. Some of the implementations have now found their way into the OpenJDK. They promise shorter and more comprehensible source code, which can also be checked for correctness by the compiler. It is easier to read and can therefore be easily maintained and extended.

Accompanied by code examples we will take a closer look at the actual state of pattern matching in Java. You will get to know the new features like Switch Expression, Type/Record Patterns, Sealed Classes as well as Pattern Matching for switch in more detail and learn where they can be usefully applied. Afterward, we will take a look at future alternative pattern types.

Sven Woltmann

HappyCoders.eu

Michael Inden

Adcubum AG

Falk Sippach

embarc Software Consulting GmbH

Register Now and Join Our Event

Already have Fullstack?

You’re all set! Grab a pen and paper and simply check back in at the time of the event to participate. Want to see more Fullstack Live Events? Browse through the complete list of events here.

 

 

No Fullstack yet?

Fullstack Experience members have free access to all Live Events – past, present and future. In addition, Fullstack members also have access to the recording of all live events for three months.

Register your Fullstack Experience now and benefit from this and future groundbreaking Fullstack Live Events.

Fullstack
Experience

Individual Membership

$120 p/a

Fullstack
Team

For Teams between 3 – 15

From $267 p/a

Fullstack
Company

For Teams above 16

On Request

Is Your Team Larger Than 16 Employees?

We can help you master digitalization by giving your team unlimited and groundbreaking software know-how including interactive online workshops, thousands of articles, infographics, topic deep dives and much more!

Get In Touch and we can guide you through the best fit for your team!

Fullstack Experience for the team

Fullstack at a Glance

basic logo

Basic

devmio Fullstack access

Fullstack

Fullstack Teams

Fullstack Read

Fullstack Live-Events

Fullstack Tutorials

Add-Ons: up to 25 % Sale on Conferences & Training Events*

Add-Ons: up to 25 % Sale on Akademy & FLEX Camps*

Features

Notes

Collections

AI-Search AskFrank

Curated Theme Highlights

Live Chat

Direct Chat

Discounts on Conferences, Training & Akademy Events*

6 Month Access to Video Recordings of Your Conferences

Certificates of Participation in Conferences, Training & Academy Events*

Access to Slides & Presentations of Conferences Attended

No Administrative Overhead

Account Manager

*Training events & Academy will be available soon