Java-Leistung Kapitel 1 Einführung

O'Reilly Japan \ -Java Performance Zusammenfassung von Kapitel 1 dieses Buches

Kapitel 1 Einführung --Qiita ← Dieser Artikel Kapitel 2 Ansatz für Leistungstests \ -Qiita ← Nächster Artikel Kapitel 3 Java Performance Toolbox \ -Qiita Kapitel 4 Mechanismus des JIT-Compilers \ -Qiita Kapitel 5 Grundlagen der Speicherbereinigung \ -Qiita

Dieses Buch beschreibt zwei Dinge: Einrichten einer JVM und Verwenden einer guten Standard-API.

Gesamtbild der Leistung

Schreiben Sie einen besseren Algorithmus

Letztendlich hängt die Leistung von der Angemessenheit Ihres Codes ab. Unabhängig davon, wie oft Sie versuchen, den Schleifencode zu entfernen, kann der Code, der nach einem bestimmten Element sucht, den Code, der HashMap verwendet, nicht übertreffen.

Reduzieren Sie die Codemenge

Einige Administratoren bewerten Entwickler immer noch anhand der Menge an Code, die sie schreiben. Eine kleine Menge Code ist häufig in Bezug auf die Leistung vorteilhafter. Diese Tendenz scheint besonders in Java stark zu sein.

Je mehr Code Sie kompilieren müssen, desto länger dauert es, bis der JIT-Compiler Ihren Code schneller ausführt. Mit zunehmender Anzahl von Objekten, die erstellt und verworfen werden müssen, steigt auch die Anzahl der GC-Arbeiten. Wenn Sie viele Objekte behalten, verlängert sich der GC-Zyklus. Je mehr Klassen Sie laden, desto mehr Zeit müssen Sie beginnen. Wenn die Größe des ausgeführten Codes zunimmt, passt er möglicherweise nicht in den Cache.

Die Leistung verschlechtert sich immer. Weil Funktionen hinzugefügt werden.

Vorzeitige und einfache Optimierung

Ungefähr 97% des Tages sollten die triviale Effizienz vergessen. Vorzeitige Optimierung ist die Wurzel allen Übels.

Es gibt ein berühmtes Wort. Sie sollten sauberen und unkomplizierten Code schreiben, um das Lesen zu erleichtern Es sollte nicht ohne Analyse optimiert werden (Korrektur, die die Struktur auf Kosten des Leistungsvorteils kompliziert). Aber das Vermeiden von Code, der offensichtlich ein Leistungsproblem darstellt, ist ein weiteres Problem, und das ist gut so.

Schauen Sie nach draußen (Datenbank ist immer ein Engpass)

Für Standalones, die keine externen Ressourcen verwenden, ist der einzige Leistungsengpass diese Anwendung. Bei Verwendung externer Ressourcen wird dies jedoch zu einem Engpass. In diesem Buch erklären wir die Java-Leistung unter der Annahme, dass nicht nur Java, sondern das Ganze analysiert wird.

Optimieren Sie für häufige Fälle

Konzentrieren Sie sich auf häufige Anwendungsfälle.

Recommended Posts

Java-Leistung Kapitel 1 Einführung
Java Performance Kapitel 3 Java Performance Toolbox
Java-Leistung Kapitel 2 Ansatz für Leistungstests
[Java] Einführung
Java-Leistung Kapitel 5 Grundlagen der Garbage Collection
Effektives Java Kapitel 2
Effektives Java Kapitel 6 34-35
[Java] Einführung in Java
Einführung in Java
Effektives Java Kapitel 4 15-22
Effektives Java Kapitel 3
Deep Learning Java von Grund auf neu Kapitel 1 Einführung
Java-Leistung Kapitel 4 Funktionsweise des JIT-Compilers
Leistungsoptimierung für Java-Apps
Einführung in den Java-Befehl
45 Techniken zur Optimierung der Java-Leistung (Teil 1)
Ich habe Java Gold gestartet (Kapitel 1-1)
[Java] Einführung in den Lambda-Ausdruck
Grundlegendes zur Java-Parallelverarbeitung (Einführung)
[Java] Einführung in die Stream-API
[Einführung in Janken (ähnliche) Spiele] Java
Einführung in die schnelle Übungsausgabe Kapitel 5
100% reines Java BDD mit JGiven (Einführung)
[Einführung in Java] Über Lambda-Ausdrücke
[Einführung in Java] Informationen zur Stream-API
Verwenden wir Twilio in Java! (Einführung)
Einführung in die funktionale Programmierung (Java, Javascript)
Effektive Java 3rd Edition Kapitel 5 Generika
Java
Erste Einführung in Mac (Java-Ingenieur)
Effektive Java 3rd Edition Kapitel 8 Methoden
Serververarbeitung mit Java (Einführung Teil.1)
Java
GraalVM für Java-Leistung (Windows Developer Build)
Leistungseinbußen bei Java-Containern in der Menicoa-Umgebung
Einführung in Java zum ersten Mal # 2
Einführung in die schnelle Übungsausgabe Kapitel 5 Teil 2
Einführung in Algorithmen mit Java-Suche (Tiefenprioritätssuche)
[Einführung in Java] So schreiben Sie ein Java-Programm
[Java] Ist die Reflexion wirklich schwer? Leistungsvergleich
[Read Effective Java] Kapitel 2 Punkt 7 "Vermeiden Sie Finalizer"
Hinweis: next ・ nextLine (Paiza lernt Java-Einführung 9: # 06)
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 10)
Ausgabe des Buches "Einführung in Java"
Zum ersten Mal Java lernen [Einführung]
Deep Learning Java von Grund auf neu Kapitel 2 Perceptron
Einführung in die Überwachung von Java Touching Prometheus
[Einführung in Java] Informationen zu Variablendeklarationen und -typen
Effektives Java 3rd Edition Kapitel 9 Programm Allgemein
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 11)
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 12)
Einführung in Algorithmen mit Java --Search (Breitenprioritätssuche)