Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler. Nach seinem Studium in Oldenburg hat er bei diversen internationalen Firmen in verschiedenen Rollen etwa als Softwareentwickler, -architekt, Consultant, Teamleiter, CTO sowie Leiter Academy gearbeitet. Nach rund 1,5 Jahren als freiberuflicher Autor und Trainer ist er seit Januar 2022 als Head of Development in Zürich tätig.

Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt und an diversen Fortbildungen sowie mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der JAX/W-JAX, JAX London, Oracle Code One, ch.open sowie bei der Java User Group Switzerland.

Copyright und Urheberrechte:

Die durch die dpunkt.verlag GmbH vertriebenen digitalen Inhalte sind urheberrechtlich geschützt. Der Nutzer verpflichtet sich, die Urheberrechte anzuerkennen und einzuhalten. Es werden keine Urheber-, Nutzungs- und sonstigen Schutzrechte an den Inhalten auf den Nutzer übertragen. Der Nutzer ist nur berechtigt, den abgerufenen Inhalt zu eigenen Zwecken zu nutzen. Er ist nicht berechtigt, den Inhalt im Internet, in Intranets, in Extranets oder sonst wie Dritten zur Verwertung zur Verfügung zu stellen. Eine öffentliche Wiedergabe oder sonstige Weiterveröffentlichung und eine gewerbliche Vervielfältigung der Inhalte wird ausdrücklich ausgeschlossen. Der Nutzer darf Urheberrechtsvermerke, Markenzeichen und andere Rechtsvorbehalte im abgerufenen Inhalt nicht entfernen.

Michael Inden

Java – die Neuerungen in Version 17 LTS, 18 und 19

Michael Inden

michael_inden@hotmail.com

Lektorat: Dr. Michael Barabas

Projektkoordinierung: Anja Weimer

Copy-Editing: Ursula Zimpfer, Herrenberg

Satz: Michael Inden

Herstellung: Stefanie Weidner, Frank Heidt

Umschlaggestaltung: Helmut Kraus, www.exclam.de

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

ISBN:

Print

978-3-86490-902-3

PDF

978-3-96910-836-9

ePub

978-3-96910-837-6

mobi

978-3-96910-838-3

1. Auflage 2022

Copyright © 2022 dpunkt.verlag GmbH

Wieblinger Weg 17

69123 Heidelberg

Hinweis:

Dieses Buch wurde auf PEFC-zertifiziertem Papier aus nachhaltiger Waldwirtschaft gedruckt. Der Umwelt zuliebe verzichten wir zusätzlich auf die Einschweißfolie.

Schreiben Sie uns:

Falls Sie Anregungen, Wünsche und Kommentare haben, lassen Sie es uns wissen: hallo@dpunkt.de.

Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.

Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.

Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.

5 4 3 2 1 0

In Erinnerung an meine geliebte Mutter Marianne Inden
»Wenn die Sonne untergeht, geht sie an anderer Stelle wieder auf.«

Inhaltsverzeichnis

1Einleitung

1.1Releasepolitik

1.2Inhaltsübersicht: Was erwartet Sie im Folgenden?

1.3Grundgerüst des Eclipse-Projekts

1.4Anmerkung zum Programmierstil

1.4.1Gedanken zur Sourcecode-Kompaktheit

1.4.2Gedanken zu final und var

1.4.3Blockkommentare in Listings

1.4.4Gedanken zur Formatierung

1.5Konfigurationen für Build-Tools und IDEs

1.5.1Java 17 mit Gradle

1.5.2Java 17 mit Maven

1.5.3Java 17 mit Eclipse

1.5.4Java 17 mit IntelliJ

1.6Ausprobieren der Beispiele und Lösungen

1.6.1Ausprobieren neuer Java-Features mit der JShell oder der Kommandozeile

1.6.2Ausprobieren neuer Java-Features in einer Sandbox

INeuerungen in Java 11 bis 17

2Neuerungen in Java 17 im Überblick

2.1JEPs im Überblick

2.1.1JEP 306: Restore Always-Strict Floating-Point Semantics

2.1.2JEP 356: Enhanced Pseudo-Random Number Generators

2.1.3JEP 382: New macOS Rendering Pipeline

2.1.4JEP 391: macOS/AArch64 Port

2.1.5JEP 398: Deprecate the Applet API for Removal

2.1.6JEP 403: Strongly Encapsulate JDK Internals

2.1.7JEP 406: Pattern Matching for