Heim  >  Artikel  >  Java  >  Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur

Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur

王林
王林nach vorne
2019-08-24 14:38:133701Durchsuche

Nachdem wir über die automatische Speicherverwaltung gesprochen haben, sprechen wir über das Ausführungssubsystem. Das Ausführungssubsystem erklärt, wie die JVM Programme ausführt.

Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur

Übersicht über Klassendateien

In diesem Artikel sprechen wir nur über Klassendateien. Klassendateien werden auch als Klassendateien oder Bytecode-Dateien bezeichnet. javac kompiliert die .java-Datei (Quellcode) in eine .class-Datei (Bytecode) und jvm interpretiert die .class-Datei in Maschinencode.

Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur

Die Klassendatei enthält den Java Virtual Machine-Befehlssatz und die Symboltabelle sowie mehrere andere Hilfsinformationen. Es handelt sich um einen Satz binärer Streams mit 8 Bytes als Grundeinheit, ohne Lücken.

Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur

Es gibt zwei Strukturen zum Speichern von Daten: vorzeichenlose Zahlen und Tabellen.

(1) Vorzeichenlose Zahlen werden verwendet, um in UTF-8 codierte Zahlen, Indexreferenzen, quantitative Werte oder Zeichenfolgenwerte zu beschreiben. Gehört zum Basisdatentyp, wobei u1, u2, u4 und u8 jeweils 1 Byte, 2 Byte, 4 Byte und 8 Byte darstellen

(2) Die Tabelle besteht aus mehreren symbolischen Zahlen oder anderen Tabellen werden als zusammengesetzte Datentypen verwendet, die aus Datenelementen bestehen und mit „_info“ enden.

Seine Eigenschaften sind: Welches Byte repräsentiert was in der Klassendatei, welche Länge und welche Reihenfolge dürfen sich nicht ändern.

Komponenten der Klassendatei

Detaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – KlassendateistrukturDie Zusammensetzung der Klasse ist im Bild oben deutlich aufgeführt. Hervorzuheben ist auch der Konstantenpool: Wenn die virtuelle Maschine ausgeführt wird, muss die entsprechende Symbolreferenz aus dem Konstantenpool abgerufen und dann beim Erstellen oder zur Laufzeit der Klasse analysiert und in eine bestimmte Speicheradresse übersetzt werden.

Oben geht es um den Klassendateiteil der virtuellen JAVA-Maschine. Weitere verwandte Fragen finden Sie auf der chinesischen PHP-Website: JAVA-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die JAVA Virtual Machine (JVM) (4) – Klassendateistruktur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen