20 Jahre Erfahrung FreeCall 0800 tutegos

Java Optimierung und Performance Tuning

Javas Vorteile in hochperformanten, kommerziellen Systemen beweisen Beispiele wie eBay oder Google Calendar. Doch die Optimierung von Java-Engpässen ist nicht trivial, und hartnäckig hält sich das Vorurteil, Java-Programme seien grundsätzlich langsamer. Unser Optimierungsseminar gibt eine Schritt-für-Schritt-Anleitung zum Erkennen und Lösen solcher Performance-Probleme. Das Hauptziel des Kurses stellt die Analyse der Engpässe über Performance-Monitoring Tools dar. Seminarteilnehmer lernen, wie nach dem Erkennen einer Problemstelle mit Hilfe allgemeingültiger Strategien Programme effizienter laufen und weniger Hauptspeicherplatz einnehmen. Die Weiterbildung behandelt insbesondere Optimierungsstrategien zur Verbesserung der Laufzeit von Java Enterprise-Anwendungen, wie zum Beispiel effiziente Caching-Strategien, die Beschleunigung einer Datenbankanbindung oder die Optimierung beim Austausch von Web-Service-Nachrichten.

Inhalte des Seminars

JVM, JITs, Compiler und native Code Compiler

  • Arbeitsweise einer JVM
  • Interpretierende JVM
  • Java Just in Time Compiler (JIT)
  • Adaptive Compilierung bei HotSpot
  • Tuning-Parameter einer JVM
  • Bytecode-Kompression
  • Java-Stack: Hardware, Betriebssystem, JVM, Java-Programme

Performance messen, Benchmarking, Profiling

  • Profiler Modi verstehen und richtig deuten
  • Macro- und Micro-Benchmarks
  • Benchmark-Programme für Java VM und Java Enterprise-Anwendungen
  • Durch Profiling Performance-Probleme erkennen: das Pareto-Prinzip
  • Profiling-Tools: Eclipse Profiler, Netbeans Profiler, InfraRED, VisualVM
  • Speicher-Monitoring
  • Remote Monitoring über JMX
  • JVMTI

Klassische Compileroptimierungen

  • Mathematisches
  • Schleifenoptimierungen
  • Invarianten

Leben und Tod: Der Werdegang der Objekte

  • Lebenszyklus der Objekte
  • Schwache Referenzen
  • Objektpools und Cache
  • Arbeitsweise von Garbage Collection, Garbage Collection Algorithmen
  • Speicherlecks erkennen und vermeiden

Java-typische Optimierungen

  • Strings und Zeichenkettenoperationen
  • Klassen- und Methodendesign
  • Kosten von Ausnahmen
  • Geladene Klassen überwachen, Klassenlader steuern

Nebenläufigkeit durch Threads

  • Parallelisieren von Aufgaben
  • Kosten durch Thread-Synchronisation
  • Thread-Pools
  • Fork/Join-Framework

Utility-Klassen in der Java-Bibliothek

  • Datenstrukturen und Algorithmen
  • Große Ganz- und Fließkommazahlen
  • Zeitberechnungen

Ein- und Ausgabe, XML und Netzwerk

  • Pufferung
  • Serialisierung
  • New I/O (NIO)
  • StaX optimal einsetzen
  • Validierung von XML-Dokumenten, Caching

Performante Datenbankzugriffe über JDBC

  • Datenbankanbindungen beschleunigen
  • Connection-Pools
  • PreparedStatements
  • Isolation Level bei Transaktionen
  • Datenbank Locking: Optimistisches/Pessimistisches Locking
  • Lazy Load Pattern

Enterprise Java

  • Einführung in Performance-Pattern/Anti-Pattern bei Java EE-Anwendungen
  • Optimierungen von mehrschichtigen Anwendungen
  • Java EE Caching-Strategien
  • HttpSession
  • Lasttests zum Aufspüren von Engpässen mit JMeter
  • Verteilte Programmierung (RMI/CORBA)
  • Java EE-Pattern zur Minimierung der übertragenen Datenmenge: Value Objects
  • Web-Services modellieren
  • Servlets und Java Server Pages (JSP): Schnell vom Request zum Response
  • Enterprise Java Beans (EJB)
  • Optimierung des OR-Mappers
  • Java Message Service (JMS)
  • Applikationsserver im Produktions- und Entwicklungs-Modus

Termine / Kontakt

Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.

Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.

Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).

Die Fakten

  • Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Software-Entwickler
  • Vorkenntnisse: Gute praktische Kenntnisse in Java und längere Projekterfahrung.
  • Schulungsunterlagen: Deutschsprachige Unterlagen (Kopien der Folien), Zertifikat
  • Seminar-Software: Java 21 ist die Standardversion, die in Verbindung mit der IntelliJ IDEA (Community-Edition) verwendet wird. Auf Wunsch auch die Eclipse IDE (Paket ›Eclipse IDE for Enterprise Java Developers‹) oder andere Entwicklungsumgebungen (NetBeans, Oracle JDeveloper) und JDK 8.

Weiterführende Seminare

Refactoring, Design Pattern (Entwurfsmuster) in Java, Effektiv Java programmieren

Verweise

Alle Kategorien

Was Teilnehmer sagen