Schulung Effective Java
Dieses Seminar richtet sich an professionelle Programmierer:innen, die ihre Java-Kenntnisse vertiefen und über das Grundwissen hinausgehen möchten. Ziel des Seminars ist die Vermittlung von fundiertem Praxiswissen für die industrielle Java-Programmierung. Es wird vorausgesetzt, dass die Teilnehmenden bereits erste Berührung mit Java hatten und ein grundlegendes Verständnis von Sprache und JVM mitbringen. Das Seminar baut auf diese Grundkenntnisse auf, steigt tiefer in scheinbar alltägliche Sprachmittel ein und arbeitet sich zu weniger geläufigen, fortgeschritteneren Mitteln der Sprache Java und des JDK vor.
Es werden einerseits Themen wie clone und equals behandelt, die zum täglichen Brot der Java-Programmierung gehören, aber regelmäßig falsch verstanden und inkorrekt implementiert werden. Darüber hinaus sehen wir uns weniger alltägliche Mittel an wie z.B. Reflection, Weak References, Compiler-Plugins und Class Loading. Diese Dinge braucht man nicht täglich, aber sie erweitern den Horizont und eröffnen dem Entwickler Möglichkeiten für die Problemlösung, die ohne die Beschäftigung mit den betreffenden Sprachmittel gar nicht in Erwägung gezogen würden. Außerdem erhalten die Teilnehmenden die Gelegenheit, sich mit „neuen“ Sprachmittel und JDK-APIs zu befassen, die im Laufe der Zeit zu Java hinzugekommen sind: die Generics in ihrer gesamten Komplexität inkl. Wildcards (aus Java 5), funktionale Programmiertechniken mit Lambda-Ausdrücken und dem Stream API (aus Java 8), das neue Date/Time API (aus Java 8) und das Modulsystem (aus Java 9).
Natürlich reichen 4 Tage nicht aus, um alle Themen umfassend zu behandeln. In Absprache mit den Teilnehmenden werden Schwerpunkte gesetzt: aus der Fülle der Themen suchen die Teilnehmenden aus, was sie am meisten interessiert. Themen, an denen großen Interesse besteht, werden ausführlich behandelt und in praktischen Übungen vertieft. Themen, die den Teilnehmenden weniger am Herzen liegen, werden nur kurz im Überblick besprochen.
Dieses Schulungsmodul kann mit allen aktuellen Java-Versionen (z.B. 21, 20, 19, 18) entsprechend Ihren Wünschen durchgeführt werden.
# Construction & Initialization
# Object Infrastructure
# Immutability
# Generics
# Lambdas & Streams
# Reflection & Dynamic Proxies
# Annotations und Compiler Plugins
# Soft & Weak References
# Enumeration Types
# Minor „New“ Language Features
# Java 5-8
# Java 10-18
# Serialization
# Class Loading
# The Java Platform Module System (JPMS)