OUR

Courses

Java 9-17 New Features

Lenght of Time:

3 days

daily course

Course language:

German

Teaching material mainly in English

The 3-day course uses many practical examples and exercises to familiarize participants with the new features of Java versions 9 to 17.

With JShell there is now a tool that is ideal for trying out new classes or functionalities in the REPL style.

As of version 10, you can omit the reference type for local variables. The compiler then determines this itself thanks to type inference.

In the 11 release, the functionality of the new HTTP Client API has been significantly expanded. It now supports HTTP/2, WebSockets, server pushes, asynchronous calls and reactive streams. Many new methods can also be found in the String class. Oracle's support and license policy has changed massively since Java 11.

Number 12 introduced a new syntax for switch statements. Furthermore, developers can now implement their own microbenchmarks.

With Java SE 13, text blocks for multi-line character strings were added. The Z Garbage Collector (ZGC), which can efficiently manage even huge heaps, has been provided in an improved form.

The pattern matching in connection with the instance operator offers a simpler way to implement case differentiation based on the object type.

Version 15 introduced Sealed Classes and Interfaces, giving the programmer the ability to limit inheritance of that class.

The pattern matching in connection with the instance operator offers a simpler way to implement case differentiation based on the object type.

In Java 16, records and sealed classes have been expanded and adjusted again.

Finally, Java 17 is the new LTS (Long Term Support) release that succeeds Java 11. All features developed from Java 12 Java 16 are production-ready in Java 17. For Java 17, Oracle offers a Java Developer certification exam.

  • Repetition of essential Java 8 features: lambdas, streams, optional (if required)

 

  • Java modularization (Java 9)

 

  • Java 9: ​​syntax changes

 

    • Diamond operator on anonymous classes
    • Extended @Deprecated annotation
    • Private methods in interfaces
    • Identifier "_" is a keyword

 

  • Java 9: ​​API changes

 

    • ProcessHandle Interface
    • Collection factory methods
    • reactive streams
    • Extensions InputStream
    • Extensions optional
    • Extensions java.util.Stream
    • Extensions LocalDate
    • extensions arrays
    • Erweiterungen Objects
    • Extensions CompleteableFuture
    • String optimizations
    • @Deprecated in Java 9

 

  • Java 9: ​​JVM changes

 

    • Changes version scheme
    • Multi-Release Jars
    • Jshell
    • HTML 5 JavaDoc

 

  • Java 10: syntax changes

 

    • syntax extension var
    • Java 10: API changes
    • Unmodifiable Lists
    • Extensions optional
    • Renewed changes versioning
    • various

 

  • Java 11: syntax changes

 

    • var Type Interference for lambdas

 

  • Java 11: API changes

 

    • New helper methods of the String class
    • New helper methods of the File class
    • Re-enlargement Optional
    • Extension Predicate
    • HTTP/2 API

 

  • Java 11: JVM changes

 

    • Epsilon Garbage Collector
    • Single-File Source-Code Programme
    • Flightrecorder
    • Deprecations und Entfernungen

 

  • Java 12 changes

 

    • Microbenchmark Suite
    • Extensions class String
    • Class CompactNumberFormat
    • Extensions Class Files
    • The Teeing Collector

 

  • Java 13 & 14 changes

 

    • Switch Expressions
    • Improvements to NullpointerExceptions
    • text blocks
    • Records
    • Pattern matching at instanceof

 

  • Java 15 changes

 

    • Support Unicode 13
    • Hidden Classes
    • Removal of the Nashorn JavaScript engine

 

  • Java 16 changes

 

    • Foreign Memory Access API
    • Stream.toList method
    • Vector API (Incubator)
    • the jpackage tool

 

  • Java 17 changes

 

  • Pattern Matching for switch (preview)
  • Enhanced Pseudo-Random Number Generators
  • Removal of AOT Compiler
  • (restore) Always strict floating point semantics

Previous knowledge

  • Basics in Java Programming
    Java Programming Language

Target group

  • Java-Entwickler, die von Java 8
    oder 11 auf Java 17 umsteigen wollen