Getting the most from modern Java

Day 2 /  / Track 2  /  EN / For practicing engineers

With the release of JDK 16, we have had eight (yes eight!) versions of Java in three and a half years.
Java developers are now being provided with more new features at a faster pace than at any time in its over quarter-century history. Many of these new features provide exciting new language level changes, as well as useful new APIs.

In this session, we'll explore in detail what these changes are and how best to use them (as well as advice on when not to use them). We'll also explain the significance of preview features and incubator modules.

We'll cover the following new language features:

  • Switch expressions (JDK 12);
  • Text blocks (JDK 13);
  • Records (JDK 14);
  • Pattern matching for instanceof (JDK 14);
  • Sealed classes and changes to Records (JDK 15).

For each recent JDK, we'll also highlight the most useful additions to the core class libraries. At the end of this session, you'll be all set to write modern Java code!

Download presentation


Simon Ritter
Azul Systems

Simon Ritter is the Deputy CTO of Azul Systems. He has been in the IT business since 1984 and holds a Bachelor of Science degree in Physics from Brunel University in the U.K.

Simon joined Sun Microsystems in 1996 and started working with Java technology from JDK 1.0; he has spent time working in both Java development and consultancy. Having moved to Oracle as a part of the Sun acquisition, he managed the Java Evangelism team for the core Java platform, Java for client applications and embedded Java. Now at Azul, he continues to help people understand Java as well as Azul's JVM technologies and products. Simon has twice been awarded a Java Rockstar status at JavaOne and is a Java Champion. He has represented Azul on the Java SE JSR Expert group since JDK 9.

Invited Experts

Timur Nasredinov

A "T"-shaped Java developer suffering from imposter syndrome with 15+ years in the industry. Currently employed at Odnoklassniki ( Professional experience includes working for outsourcing companies, being a freelance programmer, and developing in an IT giant in such business domains as the medical industry, financial and banking services, and social networks. Takes part in an educational project for Saint Petersburg Polytechnic University as a tutor. Interested in JVM internals, distributed caching, high-performance systems, and concurrency tweaks.