Trainer und Dozenten
Christian Kölker ist seit mehreren Jahren als Dozent für Schulungen in den Themengebieten Java, Struts und Datenbanken aktiv.
Die Programmiersprache Java setzt er seit 1999 in Projekten ein. Als Entwicklungsleiter der Firma [netzfactor] ist er verantwortlich für diverse Programme im Java Bereich.
Voraussetzungen
Diese Schulung richtet sich an Programmierer, die Grundkenntnisse der Programmiersprache Java und der objektorientierten Programmierung besitzen.
Diese können zum Beispiel durch die Schulung Java-Programmierung erworben worden sein.
Inhalt
Behandelt wurden die folgenden Themen:
Die Java-Plattform seit Version 5
- Generische Datentypen, variable Argumentenlisten (Varargs), erweiterte for-Schleife
- Auto-Boxing und Auto-Unboxing, Aufzählungen (Enumerations), statische Importe
- Annotationen und die kleineren Spracherweiterungen aus Project Coin
- Der heutige Sprachstand:
var, Textblöcke, Records, sealed types, switch-Expressions und pattern matching
Objektorientierung vertieft
- Überladen und Überschreiben, Sichtbarkeiten und Vererbung
- Die Verträge von
equals,hashCodeundcompareTo - Fehlerbilder, die aus der Verletzung dieser Verträge folgen
Generische Datentypen in der Praxis
- Typparameter und generische Methoden
- Wildcards und das PECS-Prinzip
- Type erasure und ihre Grenzen
Collections, Datum und Zeit
- Auswahl der passenden Datenstruktur, Sortierung und Ordnung,
SequencedCollection - Datums- und Zeitrechnung mit
java.time - Zeitzonen, Zeiträume und Formatierung
Fehlerbehandlung
- Checked und unchecked Exceptions, try-with-resources
Optionalstattnull- Ergebnistypen als Alternative zur Ausnahme
Funktionale Programmierung und Stream API
- Lambdas, Methodenreferenzen, funktionale Interfaces und Komposition
- Streams von der Quelle über Zwischenoperationen bis zum Ergebnis
- Collectors, Gruppierung und Auswertung
Annotationen und Reflection
- Klassen der Reflection API, Klassen- und Instanzeigenschaften ermitteln
- Dynamisches Erzeugen von Instanzen
- Eigene Annotationen definieren und auswerten
- Dynamische Proxies — und wie Frameworks damit arbeiten
Von der Klasse zur Anwendung
- Maven: Lifecycle, Abhängigkeiten, Scopes, Versionsverwaltung über eine BOM
- Logging mit SLF4J: Level, Platzhalter, strukturierter Kontext
(als Nachfolger von
java.util.loggingund Log4j) - Dependency Injection mit CDI
Webanwendungen und REST mit Quarkus
- Dev mode, Konfiguration und Profile
- REST-Endpunkte und JSON-Bindung
- Bean Validation und Fehlerabbildung
Datenbanken und Persistenz
- JDBC:
PreparedStatement, DataSource und Connection Pool, Transaktionen - JPA und Hibernate mit Panache: Entities und Mapping, Abfragen, Transaktionsgrenzen
- Datenbank im Container über Dev Services
Automatisierte Tests
- JUnit 5: Lebenszyklus, parametrisierte Tests, Ausführung in IDE und Build
- Zusicherungen mit AssertJ
- Testdoubles mit Mockito
- Integrationstests mit
@QuarkusTest
Nebenläufigkeit
ThreadundRunnable, Synchronisation und Monitore- Sichtbare Zustände und Wettlaufsituationen
java.util.concurrent:ExecutorService,Future,CompletableFuture- Virtual threads (Java 21) und wann sie klassische Threadpools ersetzen
Netzwerkprogrammierung
- Socket-Programmierung mit
ServerSocket, ein Thread je Verbindung - HTTP-Aufrufe mit dem
HttpClientals Nachfolger vonURLundURLConnection
Oberfläche, Internationalisierung und Lokalisierung
- Serverseitig gerenderte Oberfläche aus denselben Endpunkten wie das JSON
- Die Klasse
Locale, Auslagern von Bezeichnungen inResourceBundle - Sprachwahl über
Accept-Language - Formatierung von Zahlen, Währungen und Datumsangaben je Locale
- Auslieferung als ausführbares Artefakt
Sprachmodelle in Java-Anwendungen
- LangChain4j: AI services und strukturierte Antworten direkt in ein Record
- Tools und function calling über annotierte Methoden
- Ausblick auf Retrieval Augmented Generation
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.

