Professional Course

Migrating from Java 8 to Java 11 | Java 11 New Features & Skills

3 days
3 days
This provider usually responds within 48 hours 👍

Course description

Migrating from Java 8 to Java 11 | Java 11 New Features & Skills

Migrating from Java 8 to Java 11 is a three-day, hands-on fast-track course geared for developers who have prior hands-on experience working with Java 8, who need to quickly get up and running the latest features introduced in Java 11. Throughout the course students learn the best practices for taking advantage of the new Java Module system as well as other new features in this major update to the Java programming language.

The Java 9 update introduced major changes to the core language, including new features such as the Java Module system , the introduction of JShell, as well as several small enhancements to the language as part of the ‘Milling Project Coin’ project. ‘Project Coin’ was introduced during the development of Java 7 to introduce small language changes. Milling Project Coin introduced several enhancements that did not make it into Java 7. This course provides a fast-pace, high-level overview of the some of the lesser-known languages changes that were introduced over the years. Several of these small changes have laid the foundation for the enhancements made in Java 9, 10 and 11.

Do you work at this company and want to update this page?

Is there out-of-date information about your company or courses published here? Fill out this form to get in touch with us.

Who should attend?

This is an intermediate- level Java programming course, designed for experienced Java 8 developers who wish to get up and running with Java 11 immediately. Attendees should have a working knowledge of developing Java 8 applications.

Training content

Session: Introduction

Lesson: Java Versioning

  • Introduce the new release cycle of Java versions
  • Explain LTS versions

Lesson: Milling Project Coin

  • Overview of changes made to the language throughout the years
  • Multi-catch
  • Using effectively final variables in try-with-resources
  • Suppressed Exceptions
  • Binary literals
  • Reserved underscore (Java 9)
  • Type inference in anonymous classes (Java 9)
  • @SafeVargs (updates in Java 9)
  • Default and static methods in interfaces (Java 8)
  • Private methods in interfaces (Java 9)
  • Lab: Try-With-Resources

Session: Survey of Java 9 Updates

Lesson: Survey of Java 9 Changes

  • Introduce some of the changes in Java
  • Java versioning
  • The JDK/JRE file structure
  • Deprecation
  • The jdeprscan tool
  • Multi-Release JAR Files
  • HTML 5 compliant Javadoc
  • Lab: Creating a MRJar

Lesson: Collection and Stream Updates

  • Factory methods for Immutable Collection types
  • The takeWhile and dropWhile methods
  • The Stream Iterate and ofNullable methods
  • Lab: Stream Updates

Lesson: Java 9 Concurrency Updates

  • Brief overview of Concurrency in Java
  • Overview of CompletableFuture (Java 8)
  • Subclassing the CompletableFuture
  • The default Executor
  • New Factory methods
  • Dealing with time-outs

Lesson: Other New Java Features

  • Enhancements on the Optional class
  • Improvements made in the Process API
  • The Stack-Walking API
  • The HTTP2 Client
  • The Multi-Resolution API
  • Lab: Working with Native processes

Session: The Java Module system (Jigsaw)

Lesson: Why JigSaw?

  • Problems with Classpath
  • Encapsulation and the public access modifier
  • Application memory footprint
  • Java 8’s compact profile
  • Using internal JDK APIs

Lesson: Introduction to the Module System

  • Introduce Project Jigsaw
  • Classpath and Encapsulation
  • The JDK internal APIs
  • Java 9 Platform modules
  • Defining application modules
  • Define module dependencies
  • Implicit dependencies
  • Implied Readability
  • Exporting packages
  • Lab: Defining Modules

Lesson: The Module Descriptor

  • Define module requirements
  • Explain qualified exports
  • Open modules for reflection
  • Use ServiceLoader
  • The provides and uses keywords
  • Lab: Modules and the ServiceLoader
  • Lab: Using Reflection on modules

Lesson: Working With Modules

  • Being backwards compatible
  • The ModulePath and ClassPath
  • Unnamed Modules
  • Automatic Modules
  • The JLink tool
  • Lab: Migrating to modules

Session: JShell

Lesson: JShell

  • Introduction to JShell
  • Running Expressions in JShell
  • Importing packages
  • Defining methods and types
  • Using the JShell editor
  • Save and loading state
  • Lab: Working With JShell

Session: Survey of Java 10 updates

Lesson: Survey of Java 10 Changes

  • Docker Awareness and Support
  • Unmodifiable Collections
  • Garbage Collection Enhancements
  • Application Class Data Sharing
  • Ahead-of-Time Compilation
  • Lab: Class Data Sharing

Lesson: Local-Variable Type Inference

  • Type inference
  • Infering Types of Local Variables
  • The var Reserved Type name
  • Benefits of Using var
  • Backward Compatibilty

Session: Survey of Java 11 updates

Lesson: Survey of Java 11 Changes

  • Provide an overview of some of the new features introduced in Java 11
  • The Java versioning scheme
  • Local-Variable Syntax in Lambdas
  • Using Regular expression patterns with Predicate
  • The Collection toArray Method
  • Unicode 10 Standard
  • HTTP Client API
  • Launch Single-File Source-Code Programs
  • Lab: Launch Single-File Source-code Programs

Lesson: Using Strings in Java 11

  • Working with Strings
  • Discuss the definition of whitespace in Java
  • Introduce the new strip() methods of the String class
  • The isBlank() and repeat() methods introduced in Java 11
  • Using the lines() method to construct a Stream instance using a String

Lesson: Java 11: Removed Features and Options

  • Provide an overview of tools and APIs removed
  • Java EE modules are no longer available in Java 11

Session: HTTP Client API

Lesson: The HTTP Client API

  • Making HTTP (Hypertext Transfer Protocol) requests
  • Explain Incubator Modules
  • HTTP2 Client API
  • Introduce WebSockets
  • Communicate with WebSocket endpoints
  • Lab: HTTP Clients

Session: Additional Topics

Lesson: Memory Management

  • Understand memory management in Java
  • Discuss the various garbage collectors
  • The Garbage-First (G1) Garbage Collector
  • The No-Op and ZGS Garbage Collectors

Lesson: Performance Optimizations

  • Ahead-Of-Time Compilation
  • Hotspot Diagnostic commands
  • Variable and Method Handles


  • Price: $1,895.00
  • Discounted Price: $1,231.75

Why choose Trivera Technologies LLC?

Over 25 years of technology training expertise.

Robust portfolio of over 1,000 leading edge technology courses.

Guaranteed to run courses and flexible learning options.

Contact this provider

Contact course provider

Before we redirect you to this supplier's website, do you mind filling out this form so that we can stay in touch? You can unsubscribe at any time.
If you want us to recommend other suitable courses, please fill out all fields below and check the box beside "Please recommend similar options"
Country *

reCAPTCHA logo This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Trivera Technologies LLC
7862 West Irlo Bronson Highway
STE 626
Kissimmee FL 34747

Trivera Technologies

Trivera Technologies is a IT education services & courseware firm that offers a range of wide professional technical education services including: end to end IT training development and delivery, skills-based mentoring programs,new hire training and re-skilling services, courseware licensing and...

Read more and show all training delivered by this supplier