Java - die Neuerungen in Version 9 bis 12 (eBook)

Modularisierung, Syntax- und API-Erweiterungen
eBook Download: EPUB
2019 | 1. Auflage
344 Seiten
dpunkt (Verlag)
978-3-96088-778-2 (ISBN)

Lese- und Medienproben

Java - die Neuerungen in Version 9 bis 12 -  Michael Inden
Systemvoraussetzungen
26,90 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Dieses Buch eignet sich für alle, die ihr Java-Wissen auf den neuesten Stand bringen und es durch eine Vielzahl an Übungen festigen möchten. Es beschreibt alle wichtigen Neuerungen in Java 9 - dem letzten größeren Update - und in den Versionen Java 10, 11 und 12. Letztere bringen aufgrund halbjährlicher Releasezyklen jeweils weniger Änderungen als frühere Versionen mit und werden daher kompakter behandelt. Eine fundamentale Änderung in Java 9 stellt die als Projekt 'Jigsaw' entwickelte Modularisierungslösung dar. Auch fortgeschrittenere Themen wie Services und die Migration bestehender Applikationen werden besprochen. In verschiedenen Kapiteln werden Änderungen in der Sprache selbst behandelt. Einen Schwerpunkt bilden die Erweiterungen in diversen APIs. Neben Vereinfachungen beim Prozess-Handling, der Verarbeitung mit Optional sowie im Stream-API schauen wir auf fundamentale Neuerungen im Bereich der Concurrency durch Reactive Streams. Auch der mit Java 11 offiziell ins JDK aufgenommene HTTP/2-Support wird thematisiert. Weil die neuen Java-Versionen auch Auswirkungen auf Build-Tools und IDEs besitzen, gibt ein Kapitel einen Überblick über das aktuelle Tooling. Außerdem widmen sich zwei kurze Anhänge 'Gradle' und 'Maven'. Ein Schnelleinstieg zu den wichtigsten Neuerungen von Java 8, die im Repertoire keines Java-Entwicklers fehlen sollten und die hilfreich beim Verständnis der vielfältigen Neuerungen aus JDK 9 bis 12 sind, rundet dieses Buch ab.

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 sowie Trainer gearbeitet. Zurzeit ist er als CTO und Leiter Academy in Zürich tätig. Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt, an diversen Fortbildungen und mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen mit ergonomischen GUIs sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der Java User Group Switzerland, bei der JAX/W-JAX, ch.open und den IT-Tagen.

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 sowie Trainer gearbeitet. Zurzeit ist er als CTO und Leiter Academy in Zürich tätig. Michael Inden hat über zwanzig Jahre Berufserfahrung beim Entwurf komplexer Softwaresysteme gesammelt, an diversen Fortbildungen und mehreren Java-One-Konferenzen teilgenommen. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen mit ergonomischen GUIs sowie dem Coaching. Sein Wissen gibt er gerne als Trainer in internen und externen Schulungen und auf Konferenzen weiter, etwa bei der Java User Group Switzerland, bei der JAX/W-JAX, ch.open und den IT-Tagen.

Vorwort


Zunächst einmal bedanke ich mich bei Ihnen, dass Sie sich für dieses Buch entschieden haben. Hierin finden Sie eine Vielzahl an Informationen zu den Neuerungen in der aktuellen Java-Version 12 und in den Vorgängern. Aufgrund des nun halbjährlichen Releasezyklus sind in den Java-Versionen 10, 11 und 12 jeweils weniger Änderungen als in früheren Releases enthalten. In diesem Buch werden auch diverse Neuerungen aus Java 9 beschrieben, weil Java 9 das letzte große Update nach Java 8 war und eine Vielzahl an relevanten Erweiterungen mitbringt. Eine weitreichende Neuerung von Java 9 ist sicherlich die Modularisierung, die es erlaubt, eigene Programme in kleinere Softwarekomponenten, sogenannte Module, zu unterteilen. Zudem wurde auch das JDK in Module aufgeteilt.

An wen richtet sich dieses Buch?

Dieses Buch ist kein Buch für Programmierneulinge, sondern richtet sich an diejenigen Leser, die bereits solides Java-Know-how besitzen und sich nun kurz und prägnant über die wichtigsten Neuerungen in den Java-Versionen 9 bis 12 informieren wollen.

Um die Beispiele des Buchs möglichst präzise und elegant zu halten, verwende ich diverse Features aus Java 8. Deshalb setzt der Text voraus, dass Sie sich schon mit den Neuerungen von Java 8 beschäftigt haben. Alle, die eine kleine Auffrischung benötigen, finden zum leichteren Einstieg im Anhang einen Crashkurs zu Java 8. Für einen fundierten Einstieg in Java 8 möchte ich Sie auf meine Bücher »Java 8 – Die Neuerungen« [2] oder alternativ »Der Weg zum Java-Profi« [4] verweisen.

Zielgruppe

Dieses Buch richtet sich im Speziellen an zwei Zielgruppen:

  1. 1. Zum einen sind dies engagierte Hobbyprogrammierer und Informatikstudenten, aber auch Berufseinsteiger, die Java als Sprache beherrschen und an den Neuerungen in Java 9 bis 12 interessiert sind.
  2. 2. Zum anderen ist das Buch für erfahrene Softwareentwickler und -architekten gedacht, die ihr Wissen ergänzen oder auffrischen wollen, um für zukünftige Projekte abschätzen zu können, ob und – wenn ja – für welche Anforderungen die neuen Java-Versionen eine gewinnbringende Alternative darstellen können.

Was vermittelt dieses Buch?

Sie als Leser erhalten in diesem Buch neben Theoriewissen eine Vertiefung durch praktische Beispiele, sodass der Umstieg auf Java 9 bis 12 in eigenen Projekten erfolgreich gemeistert werden kann.

Ich setze zwar ein gutes Java-Grundwissen voraus, allerdings werden ausgewählte Themengebiete etwas genauer und gegebenenfalls einführend betrachtet, wenn dies das Verständnis der nachfolgenden Inhalte erleichtert.

Aufbau dieses Buchs


Nachdem Sie eine grobe Vorstellung über den Inhalt dieses Buchs haben, möchte ich die Themen der einzelnen Kapitel kurz vorstellen.

Kapitel 1 – EinleitungDie Einleitung stimmt Sie auf Java 9 bis 12 ein und gibt einen groben Überblick, was Sie so alles in diesem Buch bzw. als Neuerungen erwartet.

Kapitel 2 – Syntaxerweiterungen in JDK 9Zunächst widmen wir uns verschiedenen Änderungen an der Syntax von Java. Neben Details zu Bezeichnern, dem Diamond Operator und Ergänzungen bei Annotations gehe ich vor allem kritisch auf das neue Feature privater Methoden in Interfaces ein.

Kapitel 3 – Neues und Änderungen in JDK 9In den APIs des JDKs finden sich diverse Neuerungen. Dieses Potpourri habe ich thematisch ein wenig gegliedert. Neben Vereinfachungen beim Prozess-Handling, der Verarbeitung mit Optional<T> oder von Daten mit InputStreams schauen wir auf fundamentale Neuerungen im Bereich der Concurrency durch Reactive Streams.

Kapitel 4 – Änderungen in der JVM in JDK 9In diesem Kapitel beschäftigen wir uns mit Änderungen in der JVM, etwa bei der Garbage Collection oder der Einführung der jshell. Auch in Bezug auf javadoc und der Nummerierung von Java-Versionen finden wir in Java 9 Änderungen, die thematisiert werden.

Kapitel 5 – Übungen zu den Neuerungen in JDK 9In diesem Kapitel werden Übungsaufgaben zu den Themen der vorangegangenen Kapitel 2 bis 4 präsentiert. Deren Bearbeitung sollte Ihr Wissen zu den Neuerungen aus Java 9 vertiefen.

Kapitel 6 – Neues und Änderungen in Java 10Seit Java 10 verfolgt man bei Oracle die Strategie, Java in kleinen, aber feinen Iterationen um nützliche Funktionalität zu ergänzen und auch in Bezug auf die Syntax zu modernisieren. In diesem Kapitel werden die Syntaxerweiterung var zur Definition lokaler Variablen sowie einige API-Erweiterungen vorgestellt.

Kapitel 7 – Neues und Änderungen in Java 11Nachdem Java 9 und 10 jeweils nur 6 Monate aktuell waren, stellt Java 11 wieder ein über Jahre supportetes, sogenanntes LTS-Release dar, wobei LTS für Long Term Support steht. Neben einigen API-Erweiterungen wurden vor allem kleinere Bereinigungen im JDK vorgenommen, unter anderem sind die Module zu CORBA, JavaFX und in Teilen auch zu XML, speziell JAXB, nun nicht mehr Bestandteil des JDKs.

Kapitel 8 – Neues und Änderungen in Java 12Zunächst waren zwei Syntaxerweiterungen für Java 12 vorgesehen. Leider die sogenannten »Raw String Literals« als Feature gestrichen, sodass für uns als Entwickler vor allem ein Preview auf Syntaxänderungen bezüglich switch verbleibt. Sofern Sie Optimierungen auf Mikroebene vornehmen mussten, um das letzte Quäntchen an Performance herauszuholen, interessiert es Sie bestimmt, dass das Microbenchmark-Framework JMH (Java Microbenchmarking Harness) ins JDK integriert wurde.

Kapitel 9 – Übungen zu den Neuerungen in JDK 10 und 11In diesem Kapitel werden Übungsaufgaben zu den Themen der vorangegangenen Kapitel 6 bis 8 präsentiert. Deren Bearbeitung sollte Ihr Wissen zu den Neuerungen aus Java 10 und 11 vertiefen – wobei keine Übungen zu Java 12 angeboten werden, da hier kaum relevante API-Erweiterungen stattgefunden haben.

Kapitel 10 – Modularisierung mit Project JigsawKlar strukturierte Softwarearchitekturen mit sauber definierten Abhängigkeiten sind erstrebenswert, um selbst größere Softwaresysteme möglichst beherrschbar zu machen und Teile unabhängig voneinander änderbar zu halten. Seit Java 9 helfen dabei Module als eigenständige Softwarekomponenten. In diesem Kapitel wird die Thematik Modularisierung eingeführt und anhand von Beispielen vorgestellt. Im Speziellen werden auch Themen wie Sichtbarkeit und Zugriffsschutz behandelt.

Kapitel 11 – Weiterführende Themen zur ModularisierungIn diesem Kapitel schauen wir uns einige fortgeschrittenere Themen zur Modularisierung an. Zunächst stelle ich Ihnen eine Alternative zum von Oracle propagierten, aber in der Praxis hinderlichen Verzeichnislayout für Module vor. Danach betrachten wir die Abhängigkeitssteuerung in größerer Tiefe: Zwar hilft die Modularisierung bei der Strukturierung eines Systems, jedoch besitzen die Module oftmals direkte Abhängigkeiten bereits zur Kompilierzeit. Wird eine losere Kopplung benötigt, so kann man dafür Services nutzen. Zudem ändern sich durch die Modularisierung ein paar Dinge bezüglich Reflection, beispielsweise lassen sich neue Eigenschaften ermitteln, etwa die Moduldaten zu einer Klasse. Verbleibt noch ein wichtiges Thema, nämlich die Migration einer bestehenden Applikation in eine modularisierte. Weil dabei doch ein paar Dinge zu beachten sind, ist diesem Thema ein ausführlicher Abschnitt gewidmet, der insbesondere die verschiedenen Arten von Modulen und ihre Eigenschaften behandelt.

Kapitel 12 – Übungen zur ModularisierungWie für die API-Erweiterungen werden auch für die Modularisierung verschiedene Übungsaufgaben in einem Kapitel zusammengestellt.

Kapitel 13 – Build-Tools und IDEs mit Java 11Während frühere Versionen von Java der Rückwärtskompatibilität viel Aufmerksamkeit geschenkt haben und sich dadurch die notwendigen Anpassungen in IDEs und Build-Tools in Grenzen hielten, führt Java 9 durch die Modularisierung zum ersten Mal zu einem größeren Bruch. Die neue Art und Weise, wie Module den Sourcecode strukturieren, wie Klassen geladen werden und wie Zugriffe eingeschränkt werden können, und vor allem das Verbot zum Zugriff auf interne Klassen des JDKs führen...

Erscheint lt. Verlag 15.4.2019
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Schlagworte Bad Smells • codereviews • Coding-Conventions • collections • Entwurfsmuster • Java 10 • Java 11 • Java 12 • java 9 • Java SE • JDK 9 • Jigsaw • lambdas • Modularisierung • Multithreading • Objektorientiertes Design • Programmierstil • Refactorings • Unit Tests
ISBN-10 3-96088-778-7 / 3960887787
ISBN-13 978-3-96088-778-2 / 9783960887782
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Wasserzeichen)
Größe: 2,3 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Einführung, Ausbildung, Praxis

von Christian Ullenboom

eBook Download (2023)
Rheinwerk Computing (Verlag)
49,90