Heim  >  Artikel  >  Java  >  Wie Java-Code von Maschinen erkannt wird

Wie Java-Code von Maschinen erkannt wird

王林
王林Original
2020-02-01 20:09:582905Durchsuche

Wie Java-Code von Maschinen erkannt wird

Wie wird Java-Code von der Maschine erkannt?

Erstens hat Java als höhere Programmiersprache eine sehr komplexe Syntax. Wenn Sie Java-Code direkt an die Maschine senden, kann die Maschine den Java-Code nicht erkennen. Daher verwenden wir für die Java-Sprache zunächst einen Compiler, um unseren Java-Quellcode (.java-Datei) in eine Bytecode-Datei (.class-Datei) zu kompilieren, und verwenden dann eine virtuelle Maschine (JVM), um den Bytecode in einen Maschinencode zu übersetzen , und schließlich kann der Maschinencode von der Maschine erkannt und ausgeführt werden.

Bitte schauen Sie sich das Bild unten an:

Wie Java-Code von Maschinen erkannt wird

(Empfohlenes kostenloses Lernvideo-Tutorial: Java-Video-Tutorial)

Erklärung Wie folgt:

Tatsächlich kann die JVM keine Bytecode-Dateien direkt ausführen. Die JVM muss den Bytecode in Maschinencode übersetzen, bevor sie die entsprechende Codelogik ausführen kann. In der virtuellen HotSpot-Maschine gibt es zwei Formen der Übersetzung: Die erste ist die Interpretation und Ausführung, das heißt, sie übersetzt den Bytecode einzeln in Maschinencode und führt ihn aus Der gesamte in einer Methode enthaltene Bytecode wird vor der Ausführung in Maschinencode kompiliert. Beide Methoden haben ihre eigenen Vor- und Nachteile.

Der Vorteil der Interpretation der Ausführung besteht darin, dass sie sofort ausgeführt werden kann, ohne auf die Kompilierung warten zu müssen. Der Vorteil der Just-in-Time-Kompilierung besteht darin, dass sie tatsächlich schneller ausgeführt wird. Die virtuelle HotSpot-Maschine verwendet standardmäßig den Hybridmodus, der die Vorteile der interpretierten Ausführung und der Just-in-Time-Kompilierung kombiniert. Es interpretiert und führt zunächst den Bytecode aus und kompiliert dann die Hotspot-Codes, die im laufenden Betrieb wiederholt in Methodeneinheiten ausgeführt werden.

Wenn die Java Virtual Machine Java-Bytecode ausführt, lädt sie zuerst die Bytecode-Datei in den Speicher und speichert dann die geladene Java-Klasse im Methodenbereich (Methodenbereich). Bei der tatsächlichen Ausführung führt die virtuelle Maschine den Code im Methodenbereich aus.

Während des laufenden Prozesses generiert die Java Virtual Machine jedes Mal, wenn Sie eine Java-Methode eingeben, einen Stapelrahmen im Java-Methodenstapel des aktuellen Threads, um lokale Variablen und Bytecode-Operanden zu speichern. Beim Beenden der aktuellen Ausführungsmethode öffnet die Java Virtual Machine unabhängig von der normalen oder abnormalen Rückgabe den aktuellen Stapelrahmen des aktuellen Threads und verwirft ihn.

Empfohlene verwandte Artikel und Tutorials: Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonWie Java-Code von Maschinen erkannt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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