Thinking Beyond Java 8

Java 9 to Java 17: A step by step navigation

The Java platform is developing faster than at any time in its history. One key area of focus remains developer productivity.

What you’ll learn

  • Starting from Java 9, navigate through every release up to Java 17.
  • Language Features.
  • Garbage Collectors like G1, ZGC, Epsilon, Shenandoah.
  • Super useful tools like Jpackage, JShell, JDK Flight Recorder, and more.
  • Performance-related improvements.
  • Removals and Deprecations.
  • Understand the new JDK release cycle and how the Java language and platform are evolving at a rapid pace.
  • Make well-informed decisions about moving beyond Java 8.

Course Content

  • Getting started –> 7 lectures • 28min.
  • Exploring Java 9 –> 35 lectures • 3hr 9min.
  • Exploring Java 10 –> 17 lectures • 1hr 18min.
  • Exploring Java 11 –> 25 lectures • 1hr 43min.
  • Exploring Java 12 –> 13 lectures • 59min.
  • Exploring Java 13 –> 10 lectures • 34min.
  • Exploring Java 14 –> 9 lectures • 33min.
  • Exploring Java 15 –> 12 lectures • 54min.
  • Exploring Java 16 –> 17 lectures • 1hr 19min.
  • Exploring Java 17 –> 8 lectures • 30min.
  • Wrap up –> 2 lectures • 5min.

Thinking Beyond Java 8


  • Programming experience with Java 8 (Some of the code examples contain Lambdas & Streams).
  • A computer with the latest JDK and an IDE.
  • Basic understanding of Maven (Used only for a handful of lectures).

The Java platform is developing faster than at any time in its history. One key area of focus remains developer productivity.

The challenge is keeping up to date with all the latest changes.

This course will help you to-

  1. Understand how the Java language and platform are evolving after Java 8
  2. Be well-versed with different enhancements, innovations, improvements, and tools after Java 8
  3. Know about the new JDK release cycle
  4. Catch up with the latest modern features

Along with the above, broaden your horizon about different areas that one should look at in a given JDK release.

Starting from Java 9, we will incrementally move up to Java 17 and explore :

Language Features, Garbage Collectors, Library enhancements, Tools, Removals and Deprecations, and a lot more.

We target a single Java release in every section.

Some of the topics covered –

  • Text Blocks, Switch Expressions, Records, Pattern Matching for instanceof, Pattern Matching for switch, Sealed Classes
  • Garbage Collectors – G1, Epsilon, ZGC, Shenandoah
  • Modularity, jdeps, jlink, jdeprscan
  • Improved Docker Container Detection
  • Tool/Toolkit – Jpackage, JShell, JDK Flight Recorder
  • Factory methods in Collections
  • Compact Strings
  • Understand how String concatenation works behind the scenes
  • Some of the changes in the Stream API
  • Local Variable Type Inference along with recommendations on usage
  • Application Class Data Sharing
  • The new HTTP Client API
  • Handy String API changes
  • Writing scripts using the Java programming language
  • Teeing Collector
  • JMH (Java Microbenchmark Harness)
  • Encapsulated JDK internals

and more!

The course will immensely benefit Java developers interested in getting up to speed with the ever-evolving Java language.

There are lots of exercises (along with the solution) that will help you to gain confidence.

The course is not a migration guide but we do cover numerous areas that can have an impact on migration.

What if you have questions?

I offer full support, 7 days a week, answering any questions you have.

Get Tutorial