Inhalt
🧩 Modul 1: Objektorientierung Reloaded
Wiederholung: Vererbung, Polymorphie, Abstraktion,
Moderne Interfaces mit default/static-Methoden,
Sealed Classes, Records für DTOs und Value-Objekte
💡 Modul 2: Moderne Sprachfeatures
var, text blocks, switch expressions, Pattern Matching: instanceof, switch, record patterns,
Unnamed Patterns & Variables, Optional und Nullsicherheit in moderner Java-Codebasis
🔁 Modul 3: Funktionale Programmierung & Streams
Lambda-Ausdrücke, Method References, funktionale Interfaces,
Streams API im Detail: map, filter, flatMap, reduce,
Parallel Streams vs. traditionelles Multithreading,
Stream.toList() und neue Features
🧠 Modul 4: Clean Code, DesignPattern, Testing
Clean Code Prinzipien im Einsatz
JUnit 5: Assertions, Tests
Design Patterns: Proxy, Observer, Decorator
📦 Modul 5: Modularisierung & Packaging
Java Module System (JPMS) vs. klassische Packages,
exports, requires, Modulabhängigkeiten verstehen
🌐 Modul 6: JSON & REST-APIs
JSON-Verarbeitung mit Jackson / Gson,
record-basierte DTOs und automatische Serialisierung,
REST-Kommunikation mit HttpClient
⚙️ Modul 7: Nebenläufigkeit & Asynchrone Verarbeitung
Grundlagen: Threads, Runnable, ExecutorService,
CompletableFuture im Detail,
Structured Concurrency : Konzept & Nutzen
Virtual Threads: Einstieg & Unterschiede zu klassischen Threads
🧪 Modul 8: Fehlerrobuste Programmierung
try-with-resources, Ressourcen sicher verwalten
Null-Vermeidung mit Optional, record-Validierung
Vergleich: Assertions vs. Exception Handling
📁 Modul 9: Dateibasierte Persistenz mit File I/O
Moderne Dateiverarbeitung mit Files, Path und Streams (NIO.2),
Textdateien lesen/schreiben mit Lambdas
🗃️ Modul 10: Datenbankanbindung mit JPA (Jakarta Persistence API)
Entity-Definition mit @Entity, @Id, @OneToMany,
Validierung mit Bean Validation (@NotNull, @Size)
🆕 Spezialmodul: What's new in Java 17–24
Sealed Classes, Record Patterns, Pattern Matching für switch
Virtual Threads (Loom-Vorschau), Unnamed Patterns & Variables,
usw.
🚀 Spezialmodul: Tooling & Build
Maven/Gradle: Dependency Management, Plugins,
Projektstruktur & Build-Konventionen,
Modern Deployment,
Einführung in GraalVM Native Image:
Vorteile & Einschränkungen
Konfiguration mit Maven Plugin,
🌐 Spezialmodul: Moderne Java Frameworks
JavaFX (bei Desktop-Fokus),
Spring Boot (Mini-MVC & REST-Projekt),
Quarkus Fokus auf Native Image Support)
📦 Technische Umgebung
JDK 17 oder 21
IDE: IntelliJ IDEA mit Code Completion, Inspections, AI-Unterstützung
Build-Tool: Maven oder Gradle
Optional: Docker, Postman, GraalVM