Java Concurrency – richtig eingesetzt [Schulung]

Inhalt

Java macht es leicht nebenläufig laufende Anwendungen zu schreiben. Jedes Enterprise Application Framework bearbeitet einkommende Requests parallel auf mehreren Threads. Mit der Thread-Klasse oder dem Executor Framework kann jeder Entwickler mit wenigen Zeilen Code viele Tasks parallel laufen lassen.

Doch Nebenläufigkeit (englisch: concurrency) hat ihren Preis. Ohne genaue Kenntnisse des Java Memory Models und ohne sorgfältige Synchronisation der Zugriffe auf gemeinsam genutzte Variablen und Objekte, landet man schnell bei Deadlocks, Livelocks, unsichtbaren Zustandsänderungen, unvollständig initialisierten Objekten oder sonstigen Race Conditions.

In diesem Kurs erlernen Ihre Entwickler die korrekte Implementierung von Nebenläufigkeit in Java. Kurze Theorieblöcke und ausführliche, praxisnahe Ubungsaufgaben wechseln sich ab.

Themen

  • Werkzeuge zur Erkennung von Contention und Deadlocks
  • Executor Framework und Fork/Join-Pool
  • Inter-Thread-Kommunikation
  • Arten von Synchronisierung
  • Java Memory Model und Sichtbarkeit von Variablenänderungen über Thread-Grenzen hinweg
  • Zugriffsmethoden auf Variablen (plain, volatile, opaque, acquire/release)
  • VarHandles
  • Korrekte Implementierung eines threadsicheren Singletons in Java
  • JDK-Locks wie ReentrantLock und StampedLock
  • Korrekter Einsatz von wait/notify
  • JDK-Datenstrukturen für die Synchronisation mehrerer Threads wie CountDownLatch und Phaser

Nach Teilnahme an diesem Kurs werden Ihre Entwickler Multithreading in Java mit anderen Augen sehen und für die Entwicklung hoch skalierbarer Enterprise-Anwendungen und Microservices gewappnet sein.

Voraussetzungen

  • Mehrjährige praktische Erfahrung mit Java; optimalerweise erste Erfahrungen mit nebenläufiger Programmierung
  • Workstation mit Java 16
  • Java IDE: Ich verwende IntelliJ und empfehle dies auch meinen Studenten. Sie können aber auch Eclipse verwenden.

Weitere Informationen über meine Kursangebote finden Sie auf der Übersichtsseite.

Schicken Sie Ihre Anfrage an [email protected]

Kursinfos

Trainer: Sven Woltmann

Kursdauer: 3 oder 4 Tage, nach Absprache je nach Kenntnisstand

Preisangaben finden Sie auf der Übersichtsseite der Java-Schulungen.