Leistung von Java-Anwendungen: Optimierung, Profiling und bewährte Praktiken
300 Seiten
German
PDF
4.5

Leistung von Java-Anwendungen: Optimierung, Profiling und bewährte Praktiken

Leistung von Java-Anwendungen: Optimierung, Profiling und bewährte Praktiken

Autor:

Jahr:

Zusammenfassung:

Das Buch „Leistung von Java-Anwendungen“ ist ein praktischer Leitfaden für Entwickler, die schnelle, reaktionsfähige und skalierbare Java-Anwendungen erstellen möchten. In der heutigen Welt, in der Benutzer sofortige Reaktionen erwarten, können selbst Millisekunden Verzögerung Sie Ihr Publikum und Ihre Einnahmen kosten. Dieses Buch hilft Ihnen zu verstehen, wie Ihre Anwendung „unter der Haube“ funktioniert, und gibt Ihnen Werkzeuge zur Identifizierung und Beseitigung von Engpässen an die Hand.



Das Buch ist in mehrere logische Blöcke unterteilt, die alle Aspekte der Leistung abdecken:



  • Grundlagen der JVM-Leistung: Sie erfahren, wie die Java Virtual Machine (JVM) funktioniert: Kompilierung in Bytecode (JIT), Interpretation, Speicherverwaltung und Garbage Collection. Das Verständnis dieser Prozesse ist der Schlüssel zu einer effektiven Optimierung.
  • Profiling und Monitoring: Lernen Sie, Profiler (VisualVM, JProfiler, YourKit) und Monitoring-Tools (JMX, Flight Recorder) zu verwenden, um Daten über das Anwendungsverhalten zu sammeln. Sie erfahren, wie Sie Thread-Dumps und Heap-Dumps lesen, um Probleme mit Speicher und Sperren zu finden.
  • Konfiguration der Garbage Collection: Detaillierte Analyse der Garbage-Collection-Algorithmen (Serial, Parallel, CMS, G1, ZGC). Sie können den optimalen Collector für Ihre Anwendung auswählen und seine Parameter (Heap-Größe, Generationen, Schwellenwerte) konfigurieren, um Pausen (stop-the-world) zu minimieren.
  • Speicherverwaltung: Wie Sie Speicherlecks, Heap-Überläufe (OutOfMemoryError) und übermäßigen Speicherverbrauch vermeiden. Optimierung der Arbeit mit Collections, Strings und Caches.
  • Multithreading und Synchronisation: Wie Sie effizienten Multithreading-Code ohne Datenrennen und Deadlocks schreiben. Verwendung von Thread-Pools, Fork/Join Framework, CompletableFuture und nicht-blockierenden Algorithmen.
  • Code-Optimierung: Praktische Tipps zum Refactoring, zur Verwendung der richtigen Datenstrukturen, zur Reduzierung des Overheads von Methodenaufrufen und zur Arbeit mit Datenbanken (JDBC, JPA, Hibernate).
  • Benchmarking: Wie Sie die Leistung mit JMH (Java Microbenchmark Harness) korrekt messen, um nicht in die Falle falscher Ergebnisse zu tappen.


Für wen ist dieses Buch?

  • Java-Entwickler aller Erfahrungsstufen (von Junior bis Senior), die die Qualität ihres Codes verbessern möchten.
  • Team-Leads und Architekten, die für die Gesamtleistung des Systems verantwortlich sind.
  • DevOps-Ingenieure, die sich mit der Konfiguration von Anwendungsservern (Tomcat, Jetty, WildFly) und Containerisierung (Docker, Kubernetes) befassen.


Was Sie nach der Lektüre wissen werden:

  • Wie Sie Engpässe in Java-Anwendungen schnell finden und beseitigen.
  • Wie Sie die JVM und den Garbage Collector für bestimmte Szenarien konfigurieren (hoher Durchsatz, niedrige Latenz, kleine Heap-Größe).
  • Wie Sie Code schreiben, der CPU- und Speicherressourcen maximal effizient nutzt.
  • Wie Sie typische Fehler vermeiden, die die Leistung beeinträchtigen.
  • Wie Sie skalierbare Systeme entwerfen, die hohe Lasten bewältigen können.


Dieses Buch ist nicht nur eine Sammlung von Theorien. Jedes Kapitel enthält reale Beispiele, Code und praktische Aufgaben. Sie können das erworbene Wissen sofort in Ihren Projekten anwenden. Wenn Sie möchten, dass Ihre

Empfehlungen