O'Reilly logo
live online training icon Live Online training

Discovering Modern Java

What you need to know about Java 9, 10, 11, and beyond

Topic: Software Development
Henri Tremblay

Java continues to roll out new releases at a very fast pace. A lot of features have been added since Java 8. Some of these new features have proven to be extremely useful. For example, immutable collections and switch expressions.

In this Live Training, we will cover the following features in detail: Lambdas under the hood, parallel programming, var type inference, module system, improvement to the collection framework, type witness, pattern matching, and more. You will learn how to use reflection, the modern way or how a method reference is not always a drop-in replacement of a lambda.

You'll pick up new tricks that you can use in your code up to the latest Java version at the moment of the presentation. Stay tuned!

What you'll learn-and how you can apply it

  • How to get rid of these “Unchecked warnings” that just won’t go away
  • Java 8 lambda, streams, parallel programming tricks to make you more efficient
  • Java 9 module system to understand what it’s really about
  • Java 9, 10, 11, 12, 13, 14 new features
  • The new Java release process and why you should care

This training course is for you because...

  • You are a Java developer.
  • You want to be efficient.
  • You want to learn the magic tricks that will make you an expert
  • You don’t what to be left behind coding in Java 7 until retirement


  • This is not an introduction to Java. Attendees can be beginners but not first-timers.

Recommended Preparation

Recommended Follow-up

About your instructor

  • Henri Tremblay is a Java Champion. He leads EasyMock and Objenesis open source projects. When he was young, he developed and made popular mocking classes, invented partial mocking, and was coding pragmatism. The social side of him leads the Montréal JUG and Devoxx4kids Québec.

    He has been a developer, CTO, software architect, enterprise architect, startup founder, teacher, conference speaker and performance expert. With pragmatism. He is currently Managing Director and Head of TradingScreen Canada.

    He loves optimization and productivity. In Java and in general. He tries to be useful. He is pragmatic.


The timeframes are only estimates and may vary according to how the class is progressing

Segment 1 Introduction Length (10 min) - Instructors will present himself and explain the way the course will be given

Segment 2 Java new delivery process Length (20 min) - What changed in the Java delivery process since Java 8 - Why it’s important. Why we should care

Segment 3 Java 5, 6, 7 unknown features Length (20 min) - Features that you need to be productive from old Java versions. - But that developers tend to ignore - 5 minutes break

Segment 4 Java 8 Length (90 min) - Quick introduction to lambdas and streams - How to do parallel programming in Java 8 - Lambda implementation under the hood - Method reference pitfall - Exception handling in the functional world - Magical tuples thanks to type inference - And much more - 10 minutes break

Segment 5 Java 9 module system Length (30 min) - The new Java module system arriving with Java 9 - How it really changes isolation between packages - What it means to you as an application developer

Segment 6 Java 9, 10, 11, 12 new features Length (60 min) - Show the main new features from Java 9 (excluding modules), 10, 11 and 12. - Explain the cool tricks you can do with them that are not that easy to realize at first

Segment 7 Conclusion Length (10 min) - Take away and say goodbye