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

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

王林
Freigeben: 2019-08-24 14:43:35
nach vorne
3738 Leute haben es durchsucht

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!

Verwandte Etiketten:
jvm
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage