HomeSeminareJavaJAVAPERF

Java Optimierung und Performance Tuning

Java ist eine der führenden Programmiersprachen für hochperformante, kommerzielle Systeme –– erfolgreiche Beispiele wie eBay oder Google Calendar belegen das. Dennoch hält sich das Vorurteil, dass Java-Anwendungen grundsätzlich langsamer seien. Tatsächlich ist die Performance-Optimierung von Java-Systemen eine komplexe Aufgabe, die tiefgehendes Verständnis und den gezielten Einsatz von Analysetools erfordert. In diesem praxisorientierten Seminar lernen die Teilnehmer, Performance-Engpässe in Java-Anwendungen systematisch zu identifizieren und mit bewährten Strategien zu optimieren. Dabei liegt der Fokus auf der Nutzung professioneller Performance-Monitoring-Tools sowie der Anwendung effizienter Optimierungstechniken für Java-Enterprise-Anwendungen.

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 Jakarta-EE-Anwendungen
  • Optimierungen von mehrschichtigen Anwendungen
  • Jakarta EE Caching-Strategien
  • HttpSession
  • Lasttests zum Aufspüren von Engpässen mit JMeter
  • Verteilte Programmierung (RMI/CORBA)
  • Java Enterprise Pattern zur Minimierung der übertragenen Datenmenge: Value Objects
  • Webservices modellieren
  • Servlets und Jakarta Pages (JSP): Schnell vom Request zur Response
  • Enterprise Java Beans (EJB)
  • Optimierung des OR-Mappers
  • Jakarta Messaging (früher Java Message Service, JMS API)
  • 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: Softwareentwickler
  • Vorkenntnisse: Gute praktische Kenntnisse in Java und längere Projekterfahrung.
  • Schulungsunterlagen: Umfassende Seminarunterlagen und Referenzdokumentation
  • 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‹).

Weiterführende Seminare

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

Verweise

Alle Kategorien

Was Teilnehmer sagen