1: Java-Technologiesystemmodul Abbildung 2: JVM-Speicherbereichsmodell 1. Der Methodenbereich wird auch als „permanente Generation“ und „Nicht-Heap“ bezeichnet. Er wird zum Speichern von Klasseninformationen, Konstanten, statischen Variablen usw. verwendet. Von der virtuellen Maschine geladener Speicherbereich, der von Threads gemeinsam genutzt wird. Der standardmäßige Mindestwert beträgt 16 MB und der Höchstwert 64 MB. Sie können die Größe des Methodenbereichs über die Parameter -XX:PermSize und -XX:MaxPermSize begrenzen. Laufzeitkonstantenpool: Er ist Teil des Methodenbereichs. Zusätzlich zu den Beschreibungsinformationen wie Klassenversion, Feldern, Methoden, Schnittstellen usw. gibt es in der Klassendatei auch einen Konstantenpool, der zum Speichern verschiedener Symbole verwendet wird Vom Compiler generierte Referenzen werden nach dem Laden der Klasse in den Laufzeitkonstantenpool im Methodenbereich eingefügt. 2. Der Stapel der virtuellen Maschine beschreibt das Speichermodell der Java-Methodenausführung: Wenn jede Methode ausgeführt wird, wird ein „Stapelrahmen“ erstellt, um lokale Variablentabellen (einschließlich Parameter), Operationsstapel, Methodenausgänge und andere Informationen zu speichern. Der Prozess vom Aufruf jeder Methode bis zum Abschluss der Ausführung entspricht dem Prozess eines Stapelrahmens vom Schieben in den Stapel bis zum Herausspringen aus dem Stapel im Stapel der virtuellen Maschine. Der Deklarationszyklus ist derselbe wie der Thread und für den Thread privat. Lokaler Variablentabellenspeicher
1. Java Virtual Machine Learning – Architekturspeichermodell
Einführung: Wird auch als „permanente Generation“ und „Nicht-Heap“ bezeichnet und dient zum Speichern von Klasseninformationen, Konstanten und statischen Variablen, die von der virtuellen Maschine geladen werden. Es handelt sich um einen von jedem Thread gemeinsam genutzten Speicherbereich . Der standardmäßige Mindestwert beträgt 16 MB und der Höchstwert 64 MB. Sie können die Größe des Methodenbereichs über die Parameter -XX:PermSize und -XX:MaxPermSize begrenzen.
2. Java Virtual Machine Learning – Objektzugriff
Einführung: Der Objektzugriff umfasst drei Speicherbereiche: Java-Stack, Java-Heap und Methodenbereich.
3. Java Virtual Machine Learning – Garbage-Collection-Algorithmus
4. Java Virtual Machine Learning - Garbage Collector
Einführung: Serial Collector ist ein Sammlungsprozessor der neuen Generation. Single-Thread-Ausführung unter Verwendung eines Kopieralgorithmus. Während der Garbage Collection müssen alle anderen Arbeitsthreads (Benutzerthreads) angehalten werden. Es ist der Standardkollektor der neuen Generation im JVM-Client-Modus. In einer Umgebung, die auf eine einzelne CPU beschränkt ist, verursacht der serielle Kollektor keinen Thread-Interaktionsaufwand, sodass er natürlich die höchste Single-Thread-Sammlungseffizienz erzielen kann, indem er sich auf die Speicherbereinigung konzentriert.
5. Java Virtual Machine Learning – Objektspeicherzuweisung und -recycling
Einführung: In den meisten Fällen werden Objekte zuerst im Eden-Bereich der neuen Generation zugewiesen. Wenn im Eden-Speicherbereich nicht genügend Speicherplatz für die Zuweisung vorhanden ist, löst die virtuelle Maschine einen Minor GC (New Generation GC) aus. Während der Minor GC verschiebt die virtuelle Maschine Objekte im Eden-Bereich in einen der Survivor-Bereiche.
6. Java Virtual Machine Learning – Befehlszeilentool zum Anzeigen von JVM-Parametern und -Werten
Einführung: 1. Jede globals.hpp-Datei in HotSpot vm zeigt die anfänglichen Standardwerte und Parameter von jvm an
7 >Java Virtual Machine Learning – visuelles JDK-Überwachungstool
Einführung: Das JConsole-Tool befindet sich im Verzeichnis JDK/bin und sucht automatisch nach dem JVM-Prozess, der auf dem lokalen Computer ausgeführt wird. Zur Abfrage und Angabe ist kein jps-Befehl erforderlich. Doppelklicken Sie auf einen der JVM-Prozesse, um die Überwachung zu starten, oder verwenden Sie „Remote-Prozess“, um eine Verbindung zum Remote-Server herzustellen. 8. Java Virtual Machine Learning – Objektreferenzstärke
Einführung: Ob es darum geht, die Anzahl der Verweise auf ein Objekt über einen Zählalgorithmus zu bestimmen oder ob die Objektreferenzkette über einen Stammsuchalgorithmus erreichbar ist, die Bestimmung, ob ein Objekt lebendig ist, hängt mit „ Referenzen". 9. Java Virtual Machine Learning - Speicheroptimierung
Einführung: Die JVM-Optimierung dient hauptsächlich der Optimierung der Speicherverwaltung, einschließlich der Steuerung der Größe jeder Generation und der GC-Strategie. Da GC Anwendungsthreads anhält, wenn die Speicherbereinigung beginnt, was die Leistung erheblich beeinträchtigt, besteht der Zweck der Optimierung darin, die durch GC verursachte Pausenzeit von Anwendungsthreads zu minimieren und die Anzahl vollständiger GCs zu verringern. 10. Java Virtual Machine Learning - ClassLoader (ClassLoader) Einführung: ClassLoader wird verwendet, um Klassenbytecode in die Java Virtual Machine zu laden. Im Allgemeinen verwendet die Java Virtual Machine Java-Klassen wie folgt: Java-Quelldateien werden nach dem Durchlaufen von Javac in Java-Bytecode-Dateien (.class-Dateien) konvertiert. Der Klassenlader ist dafür verantwortlich, Java-Bytecode zu lesen und ihn in eine Instanz der Klasse java.lang.Class zu konvertieren. Jede dieser Instanzen repräsentiert eine Java-Klasse. Die tatsächliche Situation kann komplizierter sein. Beispielsweise kann Java-Bytecode dynamisch über Tools generiert oder über das Netzwerk heruntergeladen werden.
Das obige ist der detaillierte Inhalt vonEinführungs-Tutorial zum virtuellen maschinellen Lernen: 10 empfohlene nullbasierte Einführungs-Tutorials zum virtuellen maschinellen Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!