Seminarinhalt
Programm
- Auffrischung zentraler OOP-Prinzipien: Vererbung, Polymorphie und Abstraktion
- Einsatz von Sealed Classes zur kontrollierten Vererbung sowie Records als kompakte DTOs und Value-Objekte
- Verwendung von var und Text Blocks für übersichtlichen Code
- Einsatz moderner Switch Expressions und Pattern Matching (für instanceof, switch, Record-Patterns)
- Arbeiten mit Unnamed Patterns & Variables und sicheres Null-Handling mit Optional
- Lambda-Ausdrücke, Method References und funktionale Interfaces in der Praxis
- Tiefer Einstieg in die Streams API: map, filter, flatMap, reduce
- Vergleich von Parallel Streams und klassischem Multithreading
- Nutzung neuer Stream-Features wie Stream.toList() und Erweiterungen ab Java 17
- Clean-Code-Prinzipien für wartbare Anwendungen
- Moderne Testentwicklung mit JUnit 5
- Design Patterns praxisnah erklärt: Proxy, Observer, Decorator
- Java Module System (JPMS) vs. klassische Packages
- exports, requires, Modulabhängigkeiten verstehen
- JSON-Verarbeitung mit Jackson oder Gson
- Effiziente Nutzung von Records für DTOs und automatische (De-)Serialisierung
- REST-Clients mit dem modernen HttpClient implementieren
- Grundlagen der Nebenläufigkeit mit Threads, Runnable und ExecutorService
- Asynchrone Workflows mit CompletableFuture
- Einführung in Structured Concurrency und Virtual Threads (Project Loom)
- Ressourcenmanagement mit try-with-resources
- Vermeidung von Nullwerten mittels Optional und Record-Validierung
- Moderne Dateiverarbeitung mit der NIO.2-API (Files, Path, Streams)
- Effizientes Lesen und Schreiben von Textdateien mithilfe von Lambdas
- Arbeiten mit Entities: @Entity, @Id, @OneToMany
- Datenvalidierung durch Bean Validation (@NotNull, @Size)
- Einführung in ORM-basierte Persistenz mit JPA
- Überblick über aktuelle Sprachentwicklungen: Sealed Classes, Record Patterns, Pattern Matching für switch
- Einblick in Virtual Threads, Unnamed Patterns & Variables und kommende Features
- Arbeiten mit Maven und Gradle: Dependency Management, Plugins, Projektstruktur
- Deployment-Strategien und Einführung in GraalVM Native Image
- Maven-Plugin-Konfiguration
- Überblick über aktuelle Frameworks
- JavaFX für Desktop-Apps
- Spring Boot für REST- und MVC-Projekte
- Quarkus mit Fokus auf Native Image und Cloud-Integration
- JDK: 17/21/25
- IDE: IntelliJ IDEA mit Code Completion, Inspections & AI-Unterstützung
- Build-Tools: Maven
- Optionale Tools: Docker, Postman, GraalVM
Zielgruppen
Vorkenntnisse
- Erfahrung in einer strukturierten Programmiersprache
- wir empfehlen den Besuch des Seminars GKJAVAE Java - Essentials