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.
Ü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.
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.
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
Die 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!