Zielgruppe
- Entwickler
- Java-Entwickler
Voraussetzungen
- Grundlegendes Verständnis von Datenbankkonzepten und SQL-Syntax
- Erfahrung in mindestens einer Programmiersprache
- Abschluss des Kurses Java SE 7 Fundamentals oder Erfahrung in der Sprache Java – Kenntnisse im Entwickeln, Kompilieren und Ausführen von Programmen
- Verständnis der Grundsätze des objektorientierten Programmierens
- Java SE7 Fundamentals (D67234)
Kursziele
- Gängige Entwurfsmuster und Best Practices anwenden
- Anwendungen erstellen, die auf der Java-Technologie basieren und objektorientierte Funktionen wie Kapselung, Vererbung und Polymorphie nutzen
- Anwendungen erstellen, die das Collections Framework nutzen
- Hochleistungsfähige Multithread-Anwendungen erstellen, die Deadlocks vermeiden
- Java-Anwendungen aus der Befehlszeile ausführen
- Fehlerbehandlungsmethoden mithilfe der Exception-Behandlung implementieren
- Input/Output-(I/O-)Funktionalität zum Lesen aus und Schreiben in Daten- und Textdateien implementieren und erweiterte I/O-Streams verstehen
- Java-Anwendungen lokalisieren
- Dateien, Verzeichnisse und Dateisysteme mit der Spezifikation JDK7 NIO.2 bearbeiten
- Mehrere Vorgänge an Datenbanktabellen ausführen, einschließlich Erstellen, Lesen, Aktualisieren und Löschen von Tabellen mit JDBC-Technologie
- Zeichenfolgen mit verschiedenen regulären Ausdrücken verarbeiten
Kursinhalt
Java-Plattform – Übersicht
- Einführung
- Kursplan
- Java – Übersicht
- Java-Plattformen
- OpenJDK
- Lizenzen
- Java in Serverumgebungen
- Java Community Process
Java-Syntax und -Klassen – Wiederholung
- Einfache Java-Klassen
- Java-Felder, -Konstruktoren und -Methoden
- Modellieren von Objekten mit Java-Klassen
- Package- und Importanweisungen
Kapselung und Polymorphie
- Kapselung im Design von Java-Klassen
- Modellieren von geschäftsbezogenen Problemen mit Java-Klassen
- Unveränderbarkeit
- Erstellen von Unterklassen
- Überladen von Methoden
- Methoden mit variablen Argumenten
Design von Java-Klassen
- Zugriffsmodifizierer private, protected und public
- Überschreiben von Methoden
- Überladen von Konstruktoren
- Zugriffsmodifizierer private, protected und public
- Virtueller Methodenaufruf
- Polymorphie
- Casting von Objektreferenzen
- Überschreiben von Objektmethoden
Erweitertes Design von Klassen
- Abstrakte Klassen und Typgeneralisierung
- Modifizierer static und final
- Best Practices für Feldmodifizierer
- Entwurfsmuster Singleton
- Design abstrakter Klassen
- Verschachtelte Klassen:
- Aufzählungstypen
Vererbung mit Java-Schnittstellen
- Java-Schnittstellen
- Arten der Vererbung
- Objektkomposition und Methodendelegierung
- Implementierung mehrerer Schnittstellen
- DAO-Entwurfsmuster
Generics und Collections
- Generische Klassen und Typparameter
- Typinferenz (Diamond)
- Collections und Generics
- Schnittstellen List, Set und Map
- Stack und Deque
Verarbeiten von Zeichenfolgen
- Bearbeitung von Zeichenfolgen mit StringBuilder und StringBuffer
- Wesentliche Zeichenfolgenmethoden
- Parsen von Text in Java
- Inputverarbeitung mit Scanner
- Textausgabe und Formatierung
- Reguläre Ausdrücke mit den Klassen Pattern und Matcher
Exceptions und Assertions
- Exception-Kategorien
- Java-Standardklassen von Exceptions
- Erstellen eigener Exception-Klassen
- Klauseln try-catch und finally
- try-with-resources und Schnittstelle AutoCloseable
- Klausel multi-catch
- Best Practices für Exceptions
- Assertions
I/O-Grundlagen
- I/O mit Java
- Lesen des Konsoleninput-Streams
- Schreiben an die Konsole
- I/O-Streams
- Verketten von I/O-Streams
- Kanal-I/O
- Lesen und Schreiben von Objekten mithilfe von Serialisierung
Datei-I/O mit NIO
- Schnittstelle Path
- Klasse Files
- Datei- und Verzeichnisvorgänge
- Verwalten von Dateisystemattributen
- Lesen, Schreiben und Erstellen von Dateien
- Verfolgen von Änderungen am Dateisystem
Threading
- Planung von Betriebssystemaufgaben
- Erkennen von Multithread-Umgebungen
- Erstellen von Multithread-Lösungen
- Gemeinsame Datennutzung über Threads
- Synchronisierung und Deadlock
- Unveränderbare Objekte
Parallelität
- Erstellen von atomaren Variablen
- Verwenden von Lese-/Schreibsperren
- Thread-sichere Collections
- Parallele Synchronisierungen (Semaphore, Phaser usw.)
- Executors und ThreadPools für die parallele Planung von Aufgaben
- Parallelisierung und Fork-Join Framework
Datenbankanwendungen mit JDBC
- Layout der JDBC-API
- Erkennen von Multithread-Umgebungen
- Abfragen und Ergebnisse
- PreparedStatement und CallableStatement
- Transaktionen
- RowSet . – RowSetProvider und RowSetFactory
- DAO-Muster und JDBC
Lokalisierung
- Vorteile der Lokalisierung
- Definieren von Gebietsschemas
- Lesen und Festlegen des Gebietsschemas mit Locale-Objekten
- Ressourcenpakete
- Formatieren von Meldungen, Datumsangaben und Zahlen