Sie sind hier
E-Book

Java 9 - Die Neuerungen

Syntax- und API-Erweiterungen und Modularisierung im Überblick

AutorMichael Inden
Verlagdpunkt
Erscheinungsjahr2018
Seitenanzahl376 Seiten
ISBN9783960883784
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis20,99 EUR
Dieses Buch bietet einen fundierten Einstieg in Java 9 und gibt einen Überblick über die darin enthaltenen umfangreichen Neuerungen. Damit eignet sich das Buch für all jene, die ihr Java-Wissen auf den neuesten Stand bringen möchten. Eine Vielzahl von Übungen unterstützt Sie dabei, die einzelnen Themengebiete zu vertiefen und besser zu verstehen. Zunächst werden die Änderungen in der Sprache selbst behandelt. Einen weiteren Schwerpunkt bilden die Erweiterungen in diversen APIs, etwa dem Process-API, dem Stream-API, bei Collections, in der Klasse Optional und vielem mehr. Aber auch im Bereich Concurrency finden sich Erweiterungen - vor allem die Unterstützung von Reactive Streams. Viele dieser Neuerungen machen das Programmiererleben noch ein wenig angenehmer. Die fundamentalste Änderung in Java 9 stellt die als Projekt 'Jigsaw' entwickelte Modularisierungslösung dar, die es erlaubt, eigene Programme in Softwarekomponenten - so genannte Module - zu unterteilen. Auf diese Weise lassen sich Abhängigkeiten klar definieren, um selbst größere Softwaresysteme möglichst beherrschbar und änderbar zu halten. Weil Java 9 einige Auswirkungen auf Build-Tools und IDEs besitzt, gibt ein Kapitel einen Überblick über das aktuelle Tooling rund um die neue Java-Version. Auch fortgeschrittenere Themen wie Services und die Migration bestehender Applikationen werden besprochen. Ein Schnelleinstieg in die wichtigsten Neuerungen von Java 8, die im Repertoire keines Java-Entwicklers fehlen sollten und die zudem hilfreich beim Verständnis der Neuerungen aus JDK 9 sind, rundet dieses Buch ab. Zudem widmen sich zwei kurze Anhänge den Build-Tools 'Maven' und 'Gradle'.

Dipl.-Inform. Michael Inden ist Oracle-zertifizierter Java-Entwickler für JDK 6. Nach seinem Studium in Oldenburg war er lange Zeit als Softwareentwickler und -architekt bei verschiedenen internationalen Firmen tätig und arbeitet derzeit als Teamleiter Softwareentwicklung in Zürich. Michael Inden hat rund 20 Jahre Erfahrung beim Entwurf komplexer Softwaresysteme gesammelt, an diversen Fortbildungen und an mehreren Java-One-Konferenzen in San Francisco teilgenommen. Sein Wissen gibt er gerne als Trainer in Schulungen und auf Konferenzen weiter. Sein besonderes Interesse gilt dem Design qualitativ hochwertiger Applikationen mit ergonomischen, grafischen Oberflächen sowie dem Coaching von Kollegen.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhaltsverzeichnis5
1 Einleitung19
I Sprach- und API-Erweiterungen0
2 Syntaxerweiterungen23
2.1 Anonyme innere Klassen und der Diamond Operator23
2.2 Nutzung von »effectively final«-Variablen im ARM24
2.3 Neuerung bei der @SafeVarargs-Annotation26
2.4 Erweiterung der @Deprecated-Annotation29
2.5 Private Methoden in Interfaces30
2.6 Verbotener Bezeichner '_'32
3 Neues und Änderungen im JDK33
3.1 Neue APIs33
3.1.1 Das neue Process-API33
3.1.2 Collection-Factory-Methoden39
3.1.3 Reactive Streams und die Klasse Flow45
3.1.4 Taskbar-Support55
3.1.5 Verarbeitung von Stackframes und die Klasse StackWalker58
3.1.6 HTTP/2-Support60
3.2 Erweiterte APIs65
3.2.1 Erweiterungen in der Klasse InputStream66
3.2.2 Erweiterungen rund um die Klasse Optional68
3.2.3 Erweiterungen im Stream-API73
3.2.4 Erweiterungen in der Klasse LocalDate77
3.2.5 Support von UTF-8 in ResourceBundles78
3.2.6 Erweiterungen in der Klasse Arrays83
3.2.7 Erweiterungen in der Klasse Objects85
3.2.8 Erweiterungen in der Klasse CompletableFuture85
3.2.9 Erweiterungen in Class89
3.2.10 Die Klasse MethodHandle91
3.2.11 Die Klasse VarHandle94
3.3 Sonstige Änderungen95
3.3.1 Optimierung bei Strings96
3.3.2 Erweiterungen im Unicode-Support97
3.3.3 HiDPI-Support99
3.3.4 Multi-Resolution Images99
3.3.5 Unterstützung von TIFF-Grafiken102
3.3.6 Support für Spin-Wait-Loops103
3.3.7 Deprecation diverser Typen und Methoden im JDK104
4 Änderungen in der JVM109
4.1 Performance-Verbesserungen109
4.2 HTML5 Javadoc110
4.3 Änderung des Versionsschemas111
4.4 Browser-Plugin ist deprecated112
4.5 Garbage Collection113
4.6 Unterstützung von Multi-Release-JARs114
4.7 Java + REPL => jshell117
5 Übungen zu den Neuerungen in JDK 9125
II Modularisierung0
6 Modularisierung mit Project Jigsaw139
6.1 Grundlagen140
6.1.1 Bisherige Varianten der Modularisierung141
6.1.2 Warum wir Modularisierung brauchen143
6.2 Modularisierung im Überblick144
6.2.1 Grundlagen zu Project Jigsaw144
6.2.2 Einführendes Beispiel152
6.2.3 Komplexeres Beispiel155
6.2.4 Packaging164
6.2.5 Linking165
6.2.6 Abhängigkeiten und Modulgraphen169
6.2.7 Module des JDKs einbinden171
6.2.8 Arten von Modulen178
6.3 Sichtbarkeiten und Zugriffsschutz179
6.3.1 Sichtbarkeiten179
6.3.2 Zugriffsschutz an Beispielen181
6.3.3 Transitive Abhängigkeiten (Implied Readability)186
6.4 Zusammenfassung191
7 Weiterführende Themen zur Modularisierung193
7.1 Modularisierung und Services194
7.1.1 Begrifflichkeiten: API, SPI und Service Provider194
7.1.2 Service-Ansatz in Java seit JDK 6195
7.1.3 Services im Bereich der Modularisierung198
7.1.4 Definition eines Service Interface199
7.1.5 Realisierung eines Service Provider200
7.1.6 Realisierung eines Service Consumer202
7.1.7 Kontrolle der Abhängigkeiten204
7.1.8 Fazit205
7.2 Modularisierung und Reflection206
7.2.1 Verarbeitung von Modulen mit Reflection206
7.2.2 Tool zur Ermittlung von Modulen zu Klassen208
7.2.3 Konvertierungstool für import zu requires210
7.2.4 Besonderheiten bei Reflection213
7.3 Kompatibilität und Migration219
7.3.1 Kompatibilitätsmodus219
7.3.2 Migrationsszenarien222
7.3.3 Fallstrick bei der Bottom-up-Migration226
7.3.4 Beispiel: Migration mit Automatic Modules227
7.3.5 Beispiel: Automatic und Unnamed Module229
7.3.6 Abwandlung mit zwei Automatic Modules232
7.3.7 Mögliche Schwierigkeiten bei Migrationen234
7.3.8 Fazit234
8 Übungen zur Modularisierung235
III Verschiedenes0
9 Build-Tools und IDEs247
9.1 Nicht modularisierte Applikationen247
9.1.1 Gradle249
9.1.2 Maven251
9.1.3 Eclipse253
9.1.4 IntelliJ IDEA253
9.1.5 NetBeans253
9.2 Nicht modularisierte Applikationen mit HTTP/2-API254
9.2.1 Gradle254
9.2.2 Maven256
9.2.3 Eclipse258
9.2.4 IntelliJ IDEA259
9.2.5 NetBeans261
9.3 Modularisierte Applikationen262
9.3.1 Gradle263
9.3.2 Maven268
9.3.3 Eclipse273
9.3.4 IntelliJ IDEA275
9.3.5 NetBeans279
9.4 Besonderheiten beim Unit-Testen282
9.4.1 Gradle283
9.4.2 Maven284
9.4.3 Eclipse285
9.4.4 IntelliJ IDEA286
9.4.5 NetBeans286
9.4.6 Kommandozeile286
9.5 Kompatibilitätsmodus293
9.5.1 Gradle294
9.5.2 Maven295
9.5.3 Eclipse296
9.5.4 IntelliJ IDEA296
9.5.5 NetBeans296
9.5.6 Kommandozeile296
9.6 Fazit297
10 Zusammenfassung299
IV Anhang0
A Schnelleinstieg in Java 8305
A.1 Einstieg in Lambdas305
A.1.1 Lambdas am Beispiel305
A.1.2 Functional Interfaces und SAM-Typen306
A.1.3 Type Inference und Kurzformen der Syntax309
A.1.4 Methodenreferenzen310
A.2 Streams im Überblick311
A.2.1 Streams erzeugen – Create Operations312
A.2.2 Intermediate und Terminal Operations im Überblick314
A.2.3 Zustandslose Intermediate Operations316
A.2.4 Zustandsbehaftete Intermediate Operations319
A.2.5 Terminal Operations321
A.3 Neuerungen in der Datumsverarbeitung325
A.3.1 Neue Aufzählungen, Klassen und Interfaces326
A.3.2 Die Klasse Instant328
A.3.3 Die Klasse Duration329
A.3.4 Die Klassen LocalDate, LocalTime und LocalDateTime330
A.3.5 Die Klasse Period331
A.3.6 Datumsarithmetik mit TemporalAdjusters333
A.4 Diverse Erweiterungen335
A.4.1 Erweiterungen im Interface Comparator335
A.4.2 Die Klasse Optional337
A.4.3 Die Klasse CompletableFuture343
B Einführung Gradle347
B.1 Projektstruktur für Maven und Gradle347
B.2 Builds mit Gradle349
C Einführung Maven359
C.1 Maven im Überblick359
C.2 Maven am Beispiel362
Literaturverzeichnis365
Index365
www.dpunkt.de0

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Atalanta

Atalanta

Atalanta ist die Zeitschrift der Deutschen Forschungszentrale für Schmetterlingswanderung. Im Atalanta-Magazin werden Themen behandelt wie Wanderfalterforschung, Systematik, Taxonomie und Ökologie. ...

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

Berufsstart Bewerbung

Berufsstart Bewerbung

»Berufsstart Bewerbung« erscheint jährlich zum Wintersemester im November mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...