1 option
Java – die Neuerungen in Version 9 bis 14 / Inden, Michael.
- Format:
- Book
- Author/Creator:
- Inden, Michael, author.
- Language:
- English
- German
- Subjects (All):
- Entwurfsmuster.
- Modularisierung.
- Unit Tests.
- Programmierstil.
- Java 9.
- Multithreading.
- Refactorings.
- Coding-Conventions.
- Java 10.
- Java 11.
- Java 12.
- Java SE.
- objektorientiertes Design.
- Lambdas.
- Collections.
- JDK 9.
- Jigsaw.
- Bad Smells.
- Codereviews.
- Java 13.
- Java 14.
- Physical Description:
- 1 online resource (370 pages)
- Edition:
- 1st edition
- Place of Publication:
- dpunkt, 2020.
- System Details:
- text file
- Summary:
- Dieses Buch richtet sich an Leser, die bereits solides Java-Know-how besitzen und sich prägnant über die wichtigsten Neuerungen in den Java-Versionen 9 bis 14 informieren und Ihr Wissen auf den neuesten Stand bringen möchten. Vertiefen können Sie Ihr Wissen durch eine Vielzahl an Übungen. Wird regelmäßig auf die aktuellen Java-Versionen fortgeschrieben.
- Contents:
- Intro
- 1 Einleitung
- I Neuerungen in Java 9 bis 11
- 2 Syntaxerweiterungen in JDK 9 bis 11
- 2.1 Anonyme innere Klassen und der Diamond Operator
- 2.2 Erweiterung der @Deprecated-Annotation
- 2.3 Private Methoden in Interfaces
- 2.4 Verbotener Bezeichner '_'
- 2.5 Syntaxerweiterung var (JDK 10 und 11)
- 3 Neues und Änderungen in JDK 9
- 3.1 Neue und erweiterte APIs
- 3.1.1 Das neue Process-API
- 3.1.2 Collection-Factory-Methoden
- 3.1.3 Reactive Streams und die Klasse Flow
- 3.1.4 Erweiterungen in der Klasse InputStream
- 3.1.5 Erweiterungen rund um die Klasse Optional<
- T>
- 3.1.6 Erweiterungen im Stream-API
- 3.1.7 Neue Kollektoren im Stream-API
- 3.1.8 Erweiterungen in der Datumsverarbeitung
- 3.1.9 Erweiterungen in der Klasse Arrays
- 3.1.10 Erweiterungen in der Klasse Objects
- 3.1.11 Erweiterungen in der Klasse CompletableFuture<
- 3.2 Sonstige Änderungen
- 3.2.1 Optimierung bei Strings
- 3.2.2 Deprecation diverser Typen und Methoden im JDK
- 4 Neues und Änderungen in Java 10
- 4.1 Neue und erweiterte APIs
- 4.1.1 Unveränderliche Kopien von Collections
- 4.1.2 Immutable Collections aus Streams erzeugen
- 4.1.3 Erweiterung in der Klasse Optional<
- 4.1.4 Modifikationen in der Versionierung
- 4.1.5 Erweiterung in Reader
- 5 Neues und Änderungen in Java 11
- 5.1 Neue und erweiterte APIs
- 5.1.1 Hilfsmethoden in der Klasse String
- 5.1.2 Hilfsmethoden in der Utility-Klasse Files
- 5.1.3 Erweiterung in der Klasse Optional<
- 5.1.4 Erweiterung im Interface Predicate<
- 5.1.5 HTTP/2-API
- 5.2 Deprecations und Entfernungen im JDK
- 5.2.1 Aufräumarbeiten in der Klasse Thread
- 5.2.2 Deprecation der JavaScript-Unterstützung
- 5.2.3 Ausgliederung von JavaFX
- 5.2.4 Ausgliederung von Java EE und CORBA
- 6 JVM-Änderungen in JDK 9 bis 11.
- 6.1 Änderung des Versionsschemas
- 6.2 Java + REPL =>
- jshell
- 6.3 HTML5 Javadoc
- 6.4 Epsilon Garbage Collector (JDK 11)
- 6.5 Launch Single-File Source-Code Programs (JDK 11)
- 7 Übungen zu den Neuerungen in JDK 9 bis 11
- II Neuerungen in Java 12 bis 14
- 8 Neues und Änderungen in Java 12
- 8.1 Microbenchmark Suite
- 8.1.1 Eigene Microbenchmarks und Varianten davon
- 8.1.2 Microbenchmarks mit JMH
- 8.1.3 Fazit zu JMH
- 8.2 API-Neuerungen
- 8.2.1 Neue Methoden in der Klasse String
- 8.2.2 Neue Utility-Klasse CompactNumberFormat
- 8.2.3 Neue Hilfsmethode in der Utility-Klasse Files
- 8.2.4 Der teeing()-Kollektor
- 9 Neues und Änderungen in Java 13 und 14
- 9.1 Switch Expressions
- 9.1.1 Einführendes Beispiel
- 9.1.2 Weitere Gründe für die Neuerung
- 9.1.3 yield mit Rückgabewert
- 9.2 Verbesserung bei NullPointerExceptions
- 9.3 Preview-Features
- 9.3.1 Text Blocks
- 9.3.2 Records
- 9.3.3 Pattern Matching bei instanceof
- 9.4 Java 14 - notwendige Anpassungen für Build-Tools und IDEs
- 9.4.1 Java 14 mit Gradle
- 9.4.2 Java 14 mit Maven
- 9.4.3 Java 14 mit Eclipse
- 9.4.4 Java 14 mit IntelliJ
- 9.4.5 Java 14 mit JShell oder der Kommandozeile
- 9.5 Fazit
- 10 Übungen zu den Neuerungen in JDK 12 bis 14
- III Modularisierung
- 11 Modularisierung mit Project Jigsaw
- 11.1 Grundlagen
- 11.1.1 Bisherige Varianten der Modularisierung
- 11.1.2 Warum Modularisierung wünschenswert ist
- 11.2 Modularisierung im Überblick
- 11.2.1 Grundlagen zu Project Jigsaw
- 11.2.2 Einführendes Beispiel mit zwei Modulen
- 11.2.3 Packaging
- 11.2.4 Linking
- 11.2.5 Abhängigkeiten und Modulgraphen
- 11.2.6 Module des JDKs einbinden
- 11.2.7 Arten von Modulen
- 11.3 Sichtbarkeiten und Zugriffsschutz
- 11.3.1 Sichtbarkeiten
- 11.3.2 Zugriffsschutz an Beispielen
- 11.3.3 Transitive Abhängigkeiten (Implied Readability).
- 11.4 Zusammenfassung
- 12 Weiterführende Themen zur Modularisierung
- 12.1 Empfehlenswertes Verzeichnislayout für Module
- 12.2 Modularisierung und Services
- 12.2.1 Begrifflichkeiten: API, SPI und Service Provider
- 12.2.2 Service-Ansatz in Java seit JDK 6
- 12.2.3 Services im Bereich der Modularisierung
- 12.2.4 Definition eines Service Interface
- 12.2.5 Realisierung eines Service Provider
- 12.2.6 Realisierung eines Service Consumer
- 12.2.7 Kontrolle der Abhängigkeiten
- 12.2.8 Fazit
- 12.3 Modularisierung und Reflection
- 12.3.1 Verarbeitung von Modulen mit Reflection
- 12.3.2 Tool zur Ermittlung von Modulen zu Klassen
- 12.3.3 Besonderheiten bei Reflection
- 12.4 Kompatibilität und Migration
- 12.4.1 Kompatibilitätsmodus
- 12.4.2 Migrationsszenarien
- 12.4.3 Fallstrick bei der Bottom-up-Migration
- 12.4.4 Beispiel: Migration mit Automatic Modules
- 12.4.5 Beispiel: Automatic und Unnamed Module
- 12.4.6 Beispiel: Abwandlung mit zwei Automatic Modules
- 12.4.7 Fazit
- 12.5 Build-Management für modularisierte Applikationen
- 12.5.1 Gradle
- 12.5.2 Maven
- 12.5.3 Eclipse
- 12.5.4 IntelliJ IDEA
- 12.5.5 Fazit
- 13 Übungen zur Modularisierung
- IV Schlussgedanken
- 14 Zusammenfassung
- V Anhang
- A Schnelleinstieg in Java 8
- A.1 Einstieg in Lambdas
- A.1.1 Lambdas am Beispiel
- A.1.2 Functional Interfaces und SAM-Typen
- A.1.3 Type Inference und Kurzformen der Syntax
- A.1.4 Methodenreferenzen
- A.2 Streams im Überblick
- A.2.1 Streams erzeugen - Create Operations
- A.2.2 Intermediate und Terminal Operations im Überblick
- A.2.3 Zustandslose Intermediate Operations
- A.2.4 Zustandsbehaftete Intermediate Operations
- A.2.5 Terminal Operations
- A.3 Neuerungen in der Datumsverarbeitung
- A.3.1 Die Klasse Instant
- A.3.2 Die Klassen LocalDate, LocalTime und LocalDateTime
- A.3.3 Die Klasse Duration.
- A.3.4 Die Klasse Period
- A.3.5 Datumsarithmetik mit TemporalAdjusters
- A.4 Diverse Erweiterungen
- A.4.1 Erweiterungen im Interface Comparator<
- A.4.2 Die Klasse Optional<
- A.4.3 Die Klasse CompletableFuture<
- B Einführung Gradle
- B.1 Projektstruktur für Maven und Gradle
- B.2 Builds mit Gradle
- C Einführung Maven
- C.1 Maven im Überblick
- C.2 Maven am Beispiel
- Literaturverzeichnis
- Index.
- Notes:
- Online resource; Title from title page (viewed April 20, 2020)
- PublicationDate: 20200505
- Includes bibliographical references and index.
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 9783960889786
- 396088978X
- 9781098124458
- 1098124456
- OCLC:
- 1153978118
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.