O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Java 8 – Die Neuerungen

Book Description

Aktueller Überblick über die Neuerungen bei Java 8.

Table of Contents

  1. Cover
  2. Title
  3. Impressum
  4. Vorwort
  5. 1 Einleitung
  6. 2 Lambda-Ausdrücke
    1. 2.1 Einstieg in Lambdas
      1. 2.1.1 Lambdas am Beispiel
      2. 2.1.2 Functional Interfaces und SAM-Typen
      3. 2.1.3 Type Inference und Kurzformen der Syntax
      4. 2.1.4 Lambdas als Parameter und als Rückgabewerte
      5. 2.1.5 Unterschiede: Lambdas vs. anonyme innere Klassen
    2. 2.2 Default-Methoden
      1. 2.2.1 Interface-Erweiterungen
      2. 2.2.2 Vorgabe von Standardverhalten
      3. 2.2.3 Erweiterte Möglichkeiten durch Default-Methoden
      4. 2.2.4 Spezialfall: Was passiert bei Konflikten?
      5. 2.2.5 Vorteile und Gefahren von Default-Methoden
      6. 2.2.6 Statische Methoden in Interfaces
    3. 2.3 Methodenreferenzen
    4. 2.4 Fazit
  7. 3 Bulk Operations on Collections
    1. 3.1 Externe vs. interne Iteration
      1. 3.1.1 Externe Iteration
      2. 3.1.2 Interne Iteration
      3. 3.1.3 Externe vs. interne Iteration an einem Beispiel
    2. 3.2 Collections-Erweiterungen
      1. 3.2.1 Das Interface Predicate<T>
      2. 3.2.2 Die Methode Collection.removeIf()
      3. 3.2.3 Das Interface UnaryOperator<T>
      4. 3.2.4 Die Methode List.replaceAll()
    3. 3.3 Streams
      1. 3.3.1 Streams erzeugen — Create Operations
      2. 3.3.2 Intermediate und Terminal Operations im Überblick
      3. 3.3.3 Zustandslose Intermediate Operations
      4. 3.3.4 Zustandsbehaftete Intermediate Operations
      5. 3.3.5 Terminal Operations
      6. 3.3.6 Wissenswertes zur Parallelverarbeitung
    4. 3.4 Filter-Map-Reduce
      1. 3.4.1 Herkömmliche Realisierung
      2. 3.4.2 Filter-Map-Reduce mit JDK 8
    5. 3.5 Fallstricke bei Lambdas und funktionaler Programmierung
      1. 3.5.1 Java-Fehlermeldungen werden zu komplex
      2. 3.5.2 Fallstrick: Imperative Lösung 1:1 funktional umsetzen
    6. 3.6 Fazit
  8. 4 JSR-310: Date And Time API
    1. 4.1 Datumsverarbeitung vor JSR-310
    2. 4.2 Überblick über die neu eingeführten Klassen
      1. 4.2.1 Die Klasse Instant
      2. 4.2.2 Die Aufzählung ChronoUnit
      3. 4.2.3 Die Klasse Duration
      4. 4.2.4 Die Klassen LocalDate, LocalTime und LocalDateTime
      5. 4.2.5 Die Aufzählungen DayOfWeek und Month
      6. 4.2.6 Die Klassen YearMonth, MonthDay und Year
      7. 4.2.7 Die Klasse Period
      8. 4.2.8 Die Klasse Clock
      9. 4.2.9 Die Klasse ZonedDateTime
      10. 4.2.10 Beispiel: Berechnung einer Zeitdifferenz
      11. 4.2.11 Interoperabilität mit Legacy-Code
    3. 4.3 Fazit
  9. 5 Einstieg JavaFX 8
    1. 5.1 Einführung – JavaFX im Überblick
      1. 5.1.1 Motivation für JavaFX und Historisches
      2. 5.1.2 Grundsätzliche Konzepte
      3. 5.1.3 Layoutmanagement
    2. 5.2 Deklarativer Aufbau des GUIs
      1. 5.2.1 Deklarative Beschreibung von GUIs
      2. 5.2.2 Hello-World-Beispiel mit FXML
      3. 5.2.3 Diskussion: Design und Funktionalität strikt trennen
    3. 5.3 Rich-Client Experience
      1. 5.3.1 Gestaltung mit CSS
      2. 5.3.2 Effekte
      3. 5.3.3 Animationen
    4. 5.4 Neuerungen in JavaFX 8
      1. 5.4.1 Unterstützung von Lambdas als EventHandler
      2. 5.4.2 Texteffekte
      3. 5.4.3 Neue Controls
      4. 5.4.4 JavaFX 3D
    5. 5.5 Fazit
  10. 6 Weitere Änderungen in JDK 8
    1. 6.1 Erweiterungen im Interface Comparator<T>
    2. 6.2 Die Klasse Optional<T>
      1. 6.2.1 Grundlagen zur Klasse Optional<T>
      2. 6.2.2 Weiterführendes Beispiel und Diskussion
    3. 6.3 Parallele Operationen auf Arrays
    4. 6.4 Erweiterungen im Interface Map<K,V>
    5. 6.5 Erweiterungen im NIO und der Klasse Files
    6. 6.6 Erweiterungen im Bereich Concurrency
    7. 6.7 »Nashorn« – die neue JavaScript-Engine
    8. 6.8 Keine Permanent Generation mehr
    9. 6.9 Erweiterungen im Bereich Reflection
    10. 6.10 Base64-Codierungen
    11. 6.11 Änderungen bei Annotations
  11. 7 Zusammenfassung und Ausblick
    1. 7.1 Zusammenfassung und Fazit
    2. 7.2 Ausblick auf JDK 9: Mit JDK 8 nicht umgesetzte Features
      1. 7.2.1 Integration von Collection-Zugriffen
      2. 7.2.2 Vergleiche von Enums mit Operatoren
    3. 7.3 Weiterführende Literatur
  12. Anhang
    1. A Java und funktionale Programmierung
      1. A.1 Programmierparadigmen im Überblick
      2. A.2 Funktionale Programmierung an Beispielen
    2. Literaturverzeichnis
    3. Index