Java 9 to Java 17: Learn 12 additions in around 60 mins

A Hands-on Whirlwind Tour of developer-friendly Modern Java features

This crash course is for Java developers who want to quickly learn 12 additions to the Java language between Java 9 and Java 17, the current Long Term Support release. Since Java 9, the Java language and platform contain numerous changes but the twelve features introduced in this course will get utilized often in your day-to-day life as a Java programmer.

What you’ll learn

  • Learn how to use modern features introduced between Java 9 and Java 17.
  • Learn how to write concise code using the new additions.
  • Impress a prospective employer with how you are up to speed with the latest Java LTS release, Java 17.
  • Understand Pattern Matching, Switch Expressions, Records, Text Blocks and more.

Course Content

  • Getting Started –> 2 lectures • 2min.
  • Java 9: Unmodifiable collections & handy methods in the Collectors class –> 3 lectures • 15min.
  • Java 10: Local-Variable Type Inference & useful methods in the Collectors class –> 3 lectures • 10min.
  • Java 11: String, Files, Path, Predicate related API changes –> 1 lecture • 5min.
  • Java 12: The Teeing Collector –> 2 lectures • 8min.
  • Java 14: Simplify code with a Switch Expression –> 1 lecture • 5min.
  • Java 15: NullPointerExceptions & Text Blocks –> 2 lectures • 10min.
  • Java 16: Pattern Matching & Records –> 2 lectures • 10min.
  • Java 17: Sealed Types –> 1 lecture • 5min.
  • Wrap up! –> 2 lectures • 5min.

Auto Draft

Requirements

  • Programming experience with Java 8 (Familiarity with Lambdas, Streams).
  • A setup of Java 17 & Maven (3.8.1+) on your machine.
  • Basic knowledge of Maven, JUnit.

This crash course is for Java developers who want to quickly learn 12 additions to the Java language between Java 9 and Java 17, the current Long Term Support release. Since Java 9, the Java language and platform contain numerous changes but the twelve features introduced in this course will get utilized often in your day-to-day life as a Java programmer.

 

The course is driven completely using examples, every feature explained via code in around 5 minutes.

 

In some of the examples, we will utilize JUnit, OpenJFX, Jackson, and OpenCSV – You don’t need to know any of these libraries. The focus will be on the 12 features.

 

Basic knowledge of Maven and JUnit is required.

 

You will also get to reinforce your learning by solving a bunch of interesting exercises.

 

We will go through the following:

 

  • Learn how to create unmodifiable collections using Collection Factory methods
  • Learn how to utilize handy methods introduced in the Collectors class for flat mapping and filtering elements in a stream pipeline
  • Learn how to write concise code using Local-Variable Type Inference
  • Learn handy API changes in String, Files class, and the Predicate, Path interface
  • Learn to utilize the Teeing Collector to perform 2 operations on every element in the Stream and then merge results
  • Learn Switch Expressions to write code that is easy to understand
  • Detect the exact cause of a NullPointerException by using Helpful NullPointerExceptions
  • Learn how to represent multi-line Strings using Text Blocks
  • Learn Pattern Matching for instanceof
  • Create Immutable data carriers using Records
  • Close your hierarchy using Sealed Classes

By the end of the course, you will get a good understanding of Modern Java features.

These features will help you be a more productive programmer.

Get Tutorial