codecentric

Java Virtual Machine Grundlagen

Eine Java-Anwendung in der Java Virtual Machine (JVM) auszuführen, ist einfach. Doch nur wer die JVM versteht, kann sie auch optimal konfigurieren und einsetzen.

Teilnahmevoraussetzungen und Zielgruppe
Grundlagen der Administration oder Entwicklung von Java-Anwendungen – Entwickler und Administratoren
Schulungssprache
Deutsch
Termine und Ort
24. – 25. September 2012
Düsseldorf
Teilnahmegebühr
1.200 EUR zzgl. MwSt. (inklusive Mittagessen und Tagungsgetränken).Zum Anmeldeformular

Zusammenfassung:

In der zweitägigen Schulung vermitteln die Trainer umfangreiches, praxisbezogenes Wissen über die JVM am Beispiel der Sun/Oracle Hotspot Java 6 VM. Dabei deckt sie das gesamte Themenspektrum von der internen Funktionsweise der JVM bis hin zum JVM- Monitoring und -Tuning ab. Bei der Zusammenstellung der Inhalte legten die Trainer besonderen Wert auf deren Praxisrelevanz. So besteht die Schulung zur Hälfte aus praktischen Übungen mit aktuellen Tools, in denen das Gelernte unmittelbar in der Praxis eingesetzt wird.
Das so erworbene, tiefe Verständnis für die JVM stellt eine solide Grundlage dar:

  • für den stabilen Betrieb einer Java-Anwendung in Produktion
  • für zielgerichtetes Troubleshooting im Ernstfall
  • für eine erfolgreiche Diagnose, Bewältigung und Vermeidung von JVM-Performance-Problemen

 

Inhalte der Schulung:

Die Schulung besteht aus einer Serie von Modulen mit jeweils 50 Prozent Theorie- und Praxisanteil. Ein Auszug aus der Themenliste:

Einführung JVM:

  • Grundlagen und Motivation
  • Plattformunabhängigkeit
  • Entwicklerproduktivität
  • Wartbarkeit und Performance

 

Adaptive Codegenerierung in der JVM:

  • Just-in-Time-Compiler
  • HotSpot-Identifizierung
  • Java-Bytecode
  • Dynamisches Classloading
  • Dead Code Elimination
  • Tuning

 

JVM Konfiguration, Tools und Schnittstellen:

  • JVM-Parameter und -Optionen
  • Java Management Extensions (JVX)
  • JVM Tool Interface (JVMTI)
  • VisualVM
  • VisualGC
  • JConsole
  • jps
  • jstat
  • jstack
  • jmap
  • javap

Garbage-Collection-Analyse-und -Optimierung:

  • Java Heap
  • Generations und Spaces
  • automatische Speicherverwaltung
  • Strong-, Soft-, Weak- und Phatom- References
  • Heap-Tuning
  • GC-Strategien (Mark-and Sweap, Serial/Parallel/Concurrent)
  • GC-Algorithmen (CMS, Throughput, G1)
  • GC- Monitoring und -Tuning

 

Diagnose von Memory Leaks

JVM Threads und Concurrency:

  • Java Memory Model
  • Multithreading
  • Thread-Lebenszyklus
  • Thread-Synchronisation
  • Locks
  • Deadlocks
  • Livelocks
  • Race Conditions

 

Häufige Fehler und ihre Vermeidung

 

 

Eingesetzte Technologien:

 

Über die Trainer:

Dr. Patrick Peschlow

Dr. Patrick  Peschlow hat an der Universität Bonn im Fachgebiet “Kommunikationssysteme und verteilte Systeme” promoviert und arbeitet als Performance Engineer bei der codecentric AG. Er ist Experte für die Java Virtual Machine und für Performance-Optimierung von Java-Applikationen. Sein besonderes Interesse gilt der Skalierbarkeit hochgradig paralleler und verteilter Applikationen.

Fabian Lange

Fabian Lange leitet das Competence Center Performance und ist Experte für Java Performance. Mit seinem breiten Technologiewissen und einem reichhaltigen Werkzeugkasten hilft er Kunden Performanceprobleme zu identifizieren und effizient zu beheben. Sein Schwerpunkt liegt neben Java Performance auch auf Web Performance Optimierung.