JVM -Architektur | Erklärt

JVM -Architektur | Erklärt
JVM ist eine abstrakte Maschine, die zum Ausführen von Java -Programmen verwendet wird. In Java wird der Quellcode in Bytecode konvertiert, das nach dem weiteren konvertierten Maschinencode von der java virtuellen Maschine in den Speicher übertragen wird. Kurz gesagt, JVM bietet eine Laufzeitumgebung für die Ausführung von Java -Bytecode, die es zu einer Komponente der Java Runtime Environment (JRE) macht. Insgesamt ist ein JVM für das Laden, Verknüpfen und Initialisierung verantwortlich.

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.