JVM -Architektur
Die interne Architektur der virtuellen Java -Maschine besteht aus drei Hauptteilen.
1. Klassenloader
2. Speicherbereich
3. Ausführungsmaschine
Hier ist eine visuelle Darstellung der JVM -Architektur.
Unter allen Teilen der virtuellen Java -Maschine werden im Detail erläutert.
Klassenloader
Ein Klassenloader in JVM bezieht sich auf ein Subsystem, das für das Laden von Dateien verantwortlich ist. Es lädt jedes Mal ein Java -Programm, wenn wir ein Java -Programm durchführen. Java stellt die folgenden Klassenloader zur Verfügung.
A. Bootstrap Classloader
Eine Superklasse des Erweiterungsklassenloaders, der für das Laden des RT verantwortlich ist.JAR -Datei
B. Erweiterungsklassenloader
Ein Kind aus Bootstrap -Klasse -Leader und übergeordneter System-/Anwendungsklassenloader lädt sich JAR -Dateien, die im Verzeichnis gespeichert sind.
C. System-/Anwendungsklassenloader
Dieser Klasse Loader lädt Klassendateien vom Klassenpfad und ist ein Kind des Erweiterungsklassenloaders.
Speicherbereich
Ein JVM -Speicherbereich besteht aus den folgenden Teilen.
A. Methodenbereich
Der Zweck des Methodenbereichs besteht darin, die Struktur von Klassen wie Methodendaten oder Felddaten, Laufzeitpool und Code für Methoden zu speichern.
B. Haufen
Heap ist ein Laufzeitbereich, in dem Objekte zugewiesen werden.
C. Stapel
Stack ist verantwortlich für die Aufbewahrung von Frames, lokalen Variablen und Teilergebnissen. Es spielt eine wichtige Rolle bei der Methodenaufruf und der Methode Return. Jedes Mal, wenn ein Thread erstellt wird.
D. PC -Register
Es ist dafür verantwortlich, die Adressen zu halten, während JVM -Anweisungen ausgeführt werden.
e. Native Method -Stapel
Es ist dafür verantwortlich, alle in einer Anwendung erforderlichen nativen Methoden zu halten.
Ausführungsmaschine
Eine Ausführungsmaschine besteht aus den folgenden.
A. Dolmetscher
Es führt Anweisungen aus, nachdem es den Bytecode -Stream gelesen hat.
B. Just-in-Time (JIT) Compiler
JIT verbessert die Leistung, indem Teile von Bytecode mit ähnlichen Funktionen gleichermaßen erfasst werden, von nun an, wodurch die Gesamtkompilierungszeit verkürzt wird.
C.Müllsammler
Es wird verwendet, um Objekte zu sammeln, auf die nicht verwiesen wird, und sie zu entfernen, um den Speicher zu befreien.
Native Method -Schnittstelle
Es hilft bei der Kommunikation mit Anwendungen in verschiedenen Sprachen wie C, C ++ usw. Es ist auch dafür verantwortlich, Java -Code bei der Ausführung von JVM zu helfen, Bibliotheken und native Anwendungen anzurufen.
Methodenbibliotheken
Es besteht aus nativen Bibliotheken (C, C ++), die für die Ausführungsmaschine erforderlich sind.
Abschluss
Java Virtual Machine (JVM) ist eine abstrakte Maschine, die für die Ausführung von Java -Programmen erstellt wurde. Die Architektur von JVM umfasst drei Hauptteile, die Klassenlader, Speicherbereich und eine Ausführungsmaschine sind. Speicherbereich und Ausführungsmaschine bestehen weiter aus einigen Teilen, die unterschiedliche Funktionen haben. Dieses Tutorial erklärt die Architektur der Java Virtual Machine (JVM), in der die Funktionen seiner verschiedenen Komponenten hervorgehoben werden.