Schulung High-Performance Java

Beschreibung/Inhalt

In diesem Seminar geht es um Programmiertechniken für performance-optimierte Anwendungen und um Performance-Profiling und -Analyse inklusiver entsprechender Tuning-Techniken.
Performance ist in praktisch jedem Projekt und jeder Anwendung von Bedeutung - ganz unabhängig von der eingesetzten Technologie oder der benutzten Programmiersprache. Um hochperformante Softwaresysteme bauen zu können, benötigen Entwickler fundiertes Wissen über die Performance-Eigenschaften der von Ihnen eingesetzten Technologie und Programmiersprache.
Dieses Seminar richtet sich an Java-Programmierer und konzentriert sich auf die in Java-relevanten Performance-Themen.
Der Schwerpunkt ist Core Java - die Programmiersprache selbst, die Klassen des JDK sowie die JVM. Die besprochenen Themen sind relevant für jeden Java-Entwickler unabhängig von seinem jeweiligen Projekt-Kontext. Spezifische Architekturen, wie bestimmte Datenbanksysteme, Communication Frameworks, Web- oder Application-Server, etc. betrachten wir in diesem Kurs nicht, weil Techniken zur Performance-Optimierung in diesen Bereichen jeweils abhängig von den Spezifika der eingesetzten Produkte sind. Stattdessen konzentrieren wir uns auf den Kern von Java, der für jeden Java-Entwickler von Interesse ist. Bereits in der alltäglichen Programmierpraxis lassen sich Performance-Fallen vermeiden und gezielt Performance-Optimierungen durchführen.
Die Seminarteilnehmer erlernen Programmiertechniken für die effiziente Nutzung von Java und seinem Laufzeitsystem mit dem Ziel, performance-optimale Anwendungen zu entwickeln. Es werden Benchmarking- und Profiling-Techniken erläutert und geübt, um die Teilnehmer in die Lage zu versetzen, Performance-Engpässe zu identifizieren und mit passenden Tuning-Maßnahmen zu beseitigen. Dabei wird auch der Einfluss der virtuellen Maschine auf die Performance der Anwendung berücksichtigt. Ein Teil des Seminars widmet sich der JVM (von Sun/Oracle), wie sie funktioniert, welchen Einfluss sie auf die Performance hat, wie man ein JVM-Profiling und -Tuning macht.

Dieses Schulungsmodul kann mit allen aktuellen Java-Versionen (z.B. 21, 20, 19, 18) entsprechend Ihren Wünschen durchgeführt werden.
Dieses Schulungsmodul kann mit allen aktuellen Java Enterprise Edition-Versionen (z.B. 9, 8, 7, 6) entsprechend Ihren Wünschen durchgeführt werden.

# Performance Grundlagen

  • Was ist Performance? – Performance-Konzepte
  • Performance im Entwicklungsprozess

  • # Performance-Überlegungen in der Entwicklungsphase
    # Programmierung
  • Elementares
  • Datenstrukturen / Collections
  • I/O

  • # Micro-Benchmarking
  • Performance-Messungen
  • Typische Fehler beim Benchmarking
  • JIT Compilation
  • Statistik
  • JMH – Java Microbenchmarking Harness

  • # Performance-Analyse und Tuning
    # Profiling der Anwendung
  • Werkzeuge und ihre Architektur
  • Strategien fürs Profiling
  • Performance-Engpässe
  • Speicherallokations-Engpässe

  • # Auffinden von Memory Leaks
  • Typische Memory Leaks
  • Live-Analyse
  • Post-Mortem Analyse (via MAT)

  • # Garbage Collection Tuning
  • Klassische Garbage-Collection-Algorithmen
  • Garbage First (G1) Collector
  • Pausenlose Garbage Collectoren (ZGC & Shenandoah)
  • Werkzeuge und Techniken fürs GC Profiling
  • Tuning zwecks Durchsatzmaximierung
  • Tuning zwecks Pausenminimierung
  • G1-Tuning

  • Dauer
    Auf Wunsch. Gerne geben wir Ihnen eine Empfehlung zur notwendigen Schulungsdauer, wenn Sie uns in der Anfrage Ihre Vorkenntnisse und Ziele nennen.
    Ort
    Online oder in Deutschland, Österreich und der Schweiz an Ihrem Firmensitz
    Schulungsdidaktik
    Nach Ihrer Wahl: Klassische Schulung mit PC-Übungen, reine Präsentation ohne PC-Übungen oder interaktiver Workshop mit Beratungsanteil