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 kurz & gut, 2nd Edition

Book Description

Man kann es eigentlich kaum glauben: Diese mächtige Programmiersprache soll in ein kleines Taschenbuch passen? Nun, eine ausführliche Einführung in die Sprache ist Java – kurz & gut natürlich nicht, auch keine vollständige Referenz von A-Z. Dafür findet der erfahrene Programmierer hier aber alles Wichtige, was er bei der täglichen Arbeit braucht. Wie war das mit den Neuerungen in Java 8? Und wie hieß diese Kommandozeilenoption noch einmal genau? Auch ein Profi braucht manchmal eine Gedächtnisstütze. Da kommt diese klug organisierte Spickzettelsammlung gerade recht!

Table of Contents

  1. Dedication
  2. Vorwort
    1. Der Aufbau dieses Buchs
    2. Typografische Konventionen
    3. Autoren
    4. Danksagungen
  3. I. Sprache
    1. 1. Namenskonventionen
      1. Klassennamen
      2. Interface-Namen
      3. Methodennamen
      4. Namen von Instanzvariablen und statischen Variablen
      5. Namen von Parametern und lokalen Variablen
      6. Die Namen generischer Typparameter
      7. Namen von Konstanten
      8. Enumerationsnamen
      9. Package-Namen
      10. Annotationsnamen
      11. Akronyme
    2. 2. Lexikalische Elemente
      1. Unicode und ASCII
        1. Druckbare ASCII-Zeichen
        2. Nicht druckbare ASCII-Zeichen
      2. Kommentare
      3. Schlüsselwörter
      4. Bezeichner
      5. Trennzeichen
      6. Operatoren
      7. Literale
        1. Boolesche Literale
        2. Zeichenliterale
        3. Ganzzahlliterale
        4. Gleitkommaliterale
        5. Stringliterale
        6. Nullliteral
      8. Escape-Sequenzen
      9. Unicode-Währungssymbole
    3. 3. Grundlegende Typen
      1. Elementare Typen
      2. Literale für elementare Typen
      3. Gleitkommaeinheiten
        1. Operationen mit besonderen Werten
      4. Numerische Hochstufung elementarer Typen
        1. Unäre numerische Hochstufung
        2. Binäre numerische Hochstufung
        3. Besondere Regeln für den Bedingungsoperator
      5. Wrapper-Klassen
      6. Autoboxing und Unboxing
        1. Autoboxing
        2. Unboxing
    4. 4. Referenztypen
      1. Elementare Typen und Referenztypen im Vergleich
      2. Vorgabewerte
        1. Instanzvariablen und lokale Variablen
        2. Arrays
      3. Umwandlung von Referenztypen
        1. Erweiternde Umwandlung
        2. Einengende Umwandlung
      4. Umwandlungen zwischen elementaren Typen und Referenztypen
      5. Referenztypen an Methoden übergeben
      6. Referenztypen vergleichen
        1. Die Vergleichsoperatoren verwenden
        2. Die equals()-Methode verwenden
        3. Strings vergleichen
        4. Enumerationen vergleichen
      7. Referenztypen kopieren
        1. Die Referenz auf ein Objekt kopieren
        2. Objekte klonen
          1. Flaches und tiefes Klonen
      8. Speicherallozierung und die Garbage Collection von Referenztypen
    5. 5. Objektorientierte Programmierung
      1. Klassen und Objekte
        1. Klassensyntax
        2. Eine Klasse instanziieren (ein Objekt erstellen)
        3. Datenmember und Methoden
        4. Auf Datenmember und Methoden von Objekten zugreifen
        5. Überladen
        6. Überschreiben
        7. Konstruktoren
        8. Oberklassen und Unterklassen
        9. Das Schlüsselwort this
      2. Argumentlisten variabler Länge
      3. Abstrakte Klassen und Methoden
        1. Abstrakte Klassen
        2. Abstrakte Methoden
      4. Statische Datenmember, statische Methoden, statische Konstanten und statische Initialisierer
        1. Statische Datenmember
        2. Statische Methoden
        3. Statische Konstanten
        4. Statische Initialisierer
      5. Interfaces
      6. Enumerationen
      7. Annotationstypen
        1. Eingebaute Annotationen
        2. Benutzerdefinierte Annotationen
      8. Funktionelle Interfaces
    6. 6. Anweisungen und Blöcke
      1. Ausdrucksanweisungen
      2. Die leere Anweisung
      3. Blöcke
      4. Bedingungsanweisungen
        1. Die if-Anweisung
        2. Die if-else-Anweisung
        3. Die if-else-if-Anweisung
        4. Die switch-Anweisung
      5. Iterationsanweisungen
        1. Die for-Schleife
        2. Die verbesserte for-Schleife
        3. Die while-Schleife
        4. Die do-while-Schleife
      6. Kontrollflussübergabe
        1. Die break-Anweisung
        2. Die continue-Anweisung
        3. Die return-Anweisung
      7. synchronized-Anweisung
      8. assert-Anweisung
      9. Exception-Handling-Anweisungen
    7. 7. Exception-Handling
      1. Die Exception-Hierarchie
      2. Checked-/Unchecked-Exceptions und Errors
        1. Checked-Exceptions
        2. Unchecked-Exceptions
        3. Error
      3. Verbreitete Checked-/Unchecked- Exceptions und Errors
        1. Häufig auftretende Checked-Exceptions
        2. Häufig auftretende Unchecked-Exceptions
        3. Häufig auftretende Errors
      4. Exception-Handling-Schlüsselwörter
        1. Das Schlüsselwort throw
        2. Die Schlüsselwörter try/catch/finally
        3. Die try/catch-Anweisung
        4. Die try/finally-Anweisung
        5. Die try/catch/finally-Anweisung
        6. Die try-mit-Ressourcen-Anweisung
        7. catch-Klausel mit mehreren Exceptions
      5. Der Exception-Handling-Vorgang
      6. Eigene Exception-Klassen definieren
      7. Informationen zu Exceptions ausgeben
        1. Die getMessage()-Methode
        2. Die toString()-Methode
        3. Die printStackTrace()-Methode
    8. 8. Java-Modifizierer
      1. Zugriffsmodifizierer
      2. Andere Modifizierer (Nicht-Zugriffsmodifizierer)
  4. II. Plattform
    1. 9. Java Platform, Standard Edition
      1. Häufig verwendete Java SE-API-Bibliotheken
        1. Sprache und Unterstützungsbibliotheken
        2. Basisbibliotheken
        3. Integrationsbibliotheken
        4. Diverse Benutzerschnittstellenbibliotheken
        5. JavaFX-Benutzerschnittstellenbibliothek
        6. Remote Method Invocation (RMI) und CORBA- Bibliotheken
        7. Sicherheitsbibliotheken
        8. Extensible Markup Language-Bibliotheken (XML)
    2. 10. Grundbausteine für die Java-Entwicklung
      1. Java Runtime Environment
      2. Java Development Kit
      3. Struktur von Java-Programmen
      4. Kommandozeilenwerkzeuge
        1. Java-Compiler
        2. Java-Interpreter
        3. Der Java-Programm-Verpacker
        4. JAR-Dateien ausführen
        5. Java-Dokumentationsprogramm
      5. Classpath
    3. 11. Speicherverwaltung
      1. Garbage Collector
        1. Serieller Collector
        2. Paralleler Collector
        3. Parallel-Compacting-Collector
        4. Concurrent-Mark-Sweep-Collector
        5. Garbage-First-Collector (G1)
      2. Speicherverwaltungswerkzeuge
      3. Kommandozeilenoptionen
      4. Die Größe des JVM-Heaps ändern
      5. Metaspace
      6. Interaktion mit der GC
        1. Explizite Garbage Collection
        2. Finalisierung
    4. 12. Elementare Eingabe und Ausgabe
      1. Die Standard-Streams in, out und err
      2. Klassenhierarchie für die einfache Eingabe und Ausgabe
      3. Dateien lesen und schreiben
        1. Zeichendaten aus einer Datei lesen
        2. Binäre Daten aus einer Datei lesen
        3. Zeichendaten in eine Datei schreiben
        4. Binäre Daten in eine Datei schreiben
      4. Sockets lesen und schreiben
        1. Zeichendaten aus einem Socket lesen
        2. Binäre Daten aus einem Socket lesen
        3. Zeichendaten an ein Socket schreiben
        4. Binäre Daten an ein Socket schreiben
      5. Serialisierung
        1. Serialisieren
        2. Deserialisierung
      6. Verpacken und Entpacken von Dateien
        1. GZIP-Dateien komprimieren und dekomprimieren
    5. 13. Die New I/O-API (NIO.2)
      1. Das Path-Interface
      2. Die Klasse Files
      3. Zusätzliche Funktionen
    6. 14. Nebenläufigkeit
      1. Threads erstellen
        1. Die Klasse Thread erweitern
        2. Das Interface Runnable implementieren
      2. Thread-Zustände
      3. Thread-Priorität
      4. Häufig verwendete Methoden
      5. Synchronisierung
      6. Concurrent-Package
        1. Exekutoren
        2. Nebenläufige Collections
        3. Synchronisierer
        4. Timing-Werkzeug
    7. 15. Java Collections-Framework
      1. Das Collection-Interface
      2. Implementierungen
      3. Methoden des Collections-Frameworks
      4. Collections-Klassenalgorithmen
      5. Algorithmuseffizienz
      6. Das funktionelle Interface Comparator
    8. 16. Generics-Framework
      1. Generische Klassen und Interfaces
      2. Konstruktoren mit Generics
      3. Substitutionsprinzip
      4. Typparameter, Jokerzeichen und Grenzen
      5. Das Get- und Put-Prinzip
      6. Generische Spezialisierung
      7. Generische Methoden in rohen Typen
    9. 17. Die Java Scripting-API
      1. Skriptsprachen
      2. Script-Engine-Implementierungen
        1. Skripten in Java einbetten
        2. Methoden von Skriptsprachen aufrufen
        3. Aus Skripten auf Java-Ressourcen zugreifen
      3. Skriptsprachen und Scripting-Engines einrichten
        1. Skriptsprachen einrichten
        2. Scripting-Engine einrichten
        3. Scripting-Engine-Überprüfung
    10. 18. Date and Time-API
      1. Interoperabilität mit älterem Code
      2. Regionale Kalender
      3. ISO-Kalender
        1. Maschinelle Darstellung
        2. Duration und Period
        3. JDBC und XSD-Mapping
        4. Formatierung
    11. 19. Lambda-Ausdrücke
      1. Lambda-Grundlagen
        1. Lambda-Syntax und -Beispiel
        2. Methoden- und Konstruktorreferenzen
      2. Funktionelle Interfaces mit bestimmten Aufgaben
      3. Funktionelle Interfaces allgemeiner Natur
      4. Ressourcen für Lambda-Ausdrücke
        1. Tutorials
        2. Gemeinschaftsressourcen
  5. III. Anhänge
    1. A. »Sprechende« APIs
    2. B. Externe Werkzeuge
      1. Entwicklung, Konfiguration und Tests
      2. Bibliotheken
      3. Integrierte Entwicklungsumgebungen
      4. Webanwendungsplattformen
      5. Mit JSR-223 kompatible Skriptsprachen
    3. C. UML-Grundlagen
      1. Klassendiagramme
        1. Name
        2. Attribute
        3. Operationen
        4. Sichtbarkeit
      2. Objektdiagramme
      3. Grafische Symboldarstellung
        1. Klassen, abstrakte Klassen und Interfaces
        2. Anmerkungen
        3. Packages
      4. Konnektoren
      5. Multiplizitätsindikatoren
      6. Rollennamen
      7. Klassenbeziehungen
        1. Assoziationen
        2. Direkte Assoziation
        3. Komposition
        4. Aggregation
        5. Temporäre Assoziation
        6. Generalisierung
        7. Realisierung
      8. Ablaufdiagramme
        1. Teilnehmer (1)
        2. Gefundene Nachrichten (2)
        3. Synchrone Nachrichten (3)
        4. Rückgabeaufruf (4)
        5. Asynchrone Nachrichten (5)
        6. Interne Nachrichten (6)
        7. Lebenslinie (7)
        8. Aktivierungsleiste (8)
  6. Stichwortverzeichnis
  7. Copyright