Optimierung und Tuning von Java-Programmen
Ihre Termine
* Preise inkl. der gesetzlichen Mehrwertsteuer
Beschreibung
Performante Java-Anwendungen sind entscheidend für den stabilen und effizienten Betrieb moderner Softwaresysteme. In diesem fünftägigen Seminar lernen Sie, Java-Anwendungen systematisch zu analysieren, Performance-Engpässe zu identifizieren und durch gezielte Optimierungen zu beheben. Sie werfen einen genauen Blick auf die Funktionsweise der Java Virtual Machine, lernen Garbage-Collection-Algorithmen kennen und verstehen, wie die Speicherverwaltung und Programmverarbeitung im Detail funktionieren. Darüber hinaus arbeiten Sie mit Profiling-Werkzeugen, Microbenchmarks und Last- sowie Performancetests, um Engpässe gezielt zu identifizieren. Das Seminar behandelt klassische Optimierungsansätze ebenso wie moderne JVM- und Profiling-Techniken und zeigt, wie Sie Performance und Stabilität Ihrer Java-Anwendungen nachhaltig verbessern. Das Seminar ist als Live Online Training oder Präsenzveranstaltung buchbar.
Nach Abschluss kennen Sie die zentralen Stellschrauben in JVM und Programmcode und können Java-Anwendungen systematisch optimieren.
Inhalte
Vorgehensweise:
- Zielsetzung bei der Optimierung
- Identifizierung von Performanceproblemen
- Optimierungsdreieck
- Der Optimierungszyklus
Werkzeuge und Hilfsmittel:
- Profiler
- Speicher- und System-Monitoring
- Last- und Performancetests
- Microbenchmarks
- Decompiler
Laufzeitumgebung:
- Arbeitsweise von JVM, JIT, HotSpot
- Speicherverwaltung
- Garbage-Collection-Algorithmen und Implementierungen
Optimierung von Programmen und effiziente Programmiertechnik:
- Klassische Optimierungen (Schleifen, Invarianten)
- Arrays
- Lebenszyklus und Wiederverwendung von Objekten
- Spezielle Referenztypen
- Caches und Objekt-Pools
- Zeichenkettenverarbeitung
Effizienter Einsatz der Klassenbibliotheken:
- Datenstrukturen
- Klassen der Collection-API (Listen, Warteschlangen, Mengen, Assoziativspeicher)
- Alternative Collection-Bibliotheken
- Ein-/Ausgabe, NIO
- Serialisierung, alternative Serialisierungsbibliotheken
Multithreading und Parallelverarbeitung:
- Plattform-Threads und virtuelle Threads
- Threadpools
- Java Memory Model und Synchronisierung
- Java-8-Streams seriell und parallel
Zielgruppe
Zielgruppe
Dieses Seminar richtet sich an Software-Ingenieurinnen und Ingenieure, Internet- und Intranet-Entwickler:innen sowie projekterfahrene Anwendungsentwickler:innen, die die Performance ihrer Java-Anwendungen gezielt verbessern möchten.Voraussetzungen
Sie sollten über fundierte Java-Kenntnisse verfügen, idealerweise auf dem Niveau des Seminars Java Erweiterungen II - Vertiefung (3323) oder über vergleichbare Praxiserfahrung.