Java SE 9-14 New Features

Java SE 9-14 New Features

Dauer: 3 Tage, Tageskurs
Kurssprache: deutsch, Unterrichtsmaterial überwiegend in englischer Sprache

Der 3-tägige Kurs bringt den Teilnehmenden anhand vieler praktischen Beispiele und Übungen die neuen Features der Java-Versionen 9 bis 14 näher.

Mit Java SE 9 hielt das Modulsystem Jigsaw Einzug in Java. Auch das JDK selbst wurde modularisiert. Dem Bau modularer Java-Applikationen steht somit nichts mehr im Wege. Darüber hinaus kamen private Methoden in Interfaces sowie jede Menge Convenience Methoden hinzu, um die Entwickler-Produktivität weiter zu erhöhen.

Mit JShell existiert nun ein Werkzeug, das sich ideal zum Ausprobieren neuer Klassen bzw. Funktionalitäten im REPL-Stil eignet.

Ab der 10er-Version kann man bei lokalen Variablen den Referenztyp weglassen. Der Compiler bestimmt diesen dank Typinferenz dann selbst.

Im 11er-Release wurde die Funktionalität des neuen HTTP Client API noch deutlich erweitert. So unterstützt diese nun HTTP/2, WebSockets, Server Pushs, asynchrone Aufrufe und reaktive Streams. Viele neuen Methoden lassen sich auch in der String-Klasse finden. Massiv ändert sich ab Java 11 die Support- und Lizenzpolitik von Oracle.

Die Nummer 12 stellte eine neue Syntax für switch-Anweisungen vor. Weiters kann der Entwickler ab sofort eigene Microbenchmarks implementieren.

Mit Java SE 13 kamen Text Blocks für mehrzeilige Zeichenketten dazu. Der Z Garbage Collector (ZGC), der selbst riesige Heaps effizient verwalten kann, wurde in verbesserter Form bereitgestellt.

Die 14er-Version führte das Pattern Matching für instanceof ein, verspricht bei NullPointerExceptions hilfreiche Fehlermeldungen auszugeben und bietet mit dem Record-Typ nun eine einfache Möglichkeit zur Definition von immutable Objekten.

  • Java-Entwickler

  • Wiederholung wesentlicher Java 8 Features: Lambdas, Streams, Optional (bei Bedarf)

  • Java Modularisierung (Java 9)

  • Java 9: Syntaxänderungen

    • Diamond Operator bei anonymen Klassen
    • Erweiterte @Deprecated Annotation
    • Private Methoden in Interfaces
    • Bezeichner „_“ ist ein Schlüsselwort

  • Java 9: API Änderungen

    • ProcessHandle Interface
    • Collection Factory Methoden
    • Reactive Streams
    • Erweiterungen InputStream
    • Erweiterungen Optional
    • Erweiterungen java.util.Stream
    • Erweiterungen LocalDate
    • Erweiterungen Arrays
    • Erweiterungen Objects
    • Erweiterungen CompleteableFuture
    • Optimierungen bei Strings
    • @Deprecated in Java 9

  • Java 9: JVM Änderungen

    • Änderungen Versionsschema
    • Multi-Release-Jars
    • Jshell
    • HTML 5 JavaDoc

  • Java 10: Syntaxänderungen

    • Syntaxerweiterung var
    • Java 10: API Änderungen
    • Unmodifiable Lists
    • Erweiterungen Optional
    • Erneute Änderungen Versionierung
    • Verschiedenes

  • Java 11: Syntaxänderungen

    • var Type Interference für Lambdas

  • Java 11: API Änderungen

    • Neue Hilfsmethoden der Klasse String
    • Neue Hilfsmethoden der Klasse File
    • Erneute Erweiterung Optional
    • Erweiterung Predicate
    • HTTP/2 API

  • Java 11: JVM Änderungen

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

  • Java 12 Änderungen

    • Microbenchmark Suite
    • Erweiterungen Klasse String
    • Klasse CompactNumberFormat
    • Erweiterungen Klasse Files
    • Der Teeing Kollektor

  • Java 13 & 14 Änderungen

    • Switch Expressions
    • Verbesserungen bei NullpointerExceptions
    • Text Blocks
    • Records
    • Pattern Matching bei instanceof

    • Grundlegende Kenntnisse in der Programmiersprache Java