Heim  >  Artikel  >  Java  >  Warum wird ein Java-Programm „einmal kompiliert und überall ausgeführt“?

Warum wird ein Java-Programm „einmal kompiliert und überall ausgeführt“?

(*-*)浩
(*-*)浩nach vorne
2019-09-16 15:29:184259Durchsuche

Im Vergleich zu anderen Sprachen können Java-Programme „einmal kompiliert und überall ausgeführt werden“, was zeigt, dass sie sehr plattformübergreifend sind. Aber was genau ist die plattformübergreifende Natur von Java? Lassen Sie uns zunächst verstehen, was es bedeutet, plattformübergreifend zu sein.

Warum wird ein Java-Programm „einmal kompiliert und überall ausgeführt“?

Hochsprachen wie C oder C++ ähneln menschenlesbaren Sprachen und sind näher an der englischen Grammatik. Der Computer erkennt jedoch nur Maschinenbefehle, die aus Folgen von Nullen und Einsen bestehen. Daher muss die Sprache C oder C++ in Maschinenanweisungen übersetzt werden, die aus einer Folge von 0 und 1 bestehen, die der Computer erkennen kann. Die Person, die für diese Art der Übersetzung verantwortlich ist, ist der „Compiler“.

Das Problem besteht darin, dass die auf jeder Plattform erkannten Sequenzen von 0 und 1 unterschiedlich sind. Eine bestimmte Anweisung kann unter Windows 0101 sein, unter Linux jedoch 1010. Daher muss ein inkompatibler Compiler verwendet werden, um ausführbaren Maschinencode für andere Plattformen zu kompilieren ausführen.

Das heißt, Programme, die in der Sprache C oder C++ geschrieben sind, können das plattformübergreifende Ziel „Einmal kompilieren und überall ausführen“ nicht erreichen.

Java ist ebenfalls eine Hochsprache. Damit der Computer das von Ihnen geschriebene Java-Programm ausführen kann, muss es auch von einem Compiler kompiliert werden. Der Java-Compiler kompiliert den Java-Quellcode jedoch nicht direkt in eine von der Computerplattform abhängige Folge von 0 und 1, sondern kompiliert ihn in Bytecode.

Die Erweiterung des Java-Quellcodes ist .java. Nach der Kompilierung durch den Compiler wird Bytecode mit der Erweiterung .class generiert. Wenn Sie eine Bytecode-Datei ausführen möchten, muss auf der Zielplattform eine JVM (Java Virtual Machine) installiert sein. Die JVM übersetzt den Bytecode in plattformabhängige Computeranweisungen, das heißt: eine Folge von 0, 1.

Aber Sie müssen bedenken: Für Plattformen, die nicht verwendet werden können, muss eine für diese Plattform spezifische JVM installiert werden. Dies ist so, als ob Sie Chinesisch (*.java) sprechen. Der Java-Compiler hilft Ihnen bei der Übersetzung ins Englische (*.class). Nachdem diese englische Datei in jedes Land gesendet wurde, wird sie von den Einheimischen in die lokale Sprache übersetzt (JVM), der Englisch versteht (Maschinenanweisungen).

Eine der Aufgaben der JVM besteht also darin, ein lokaler Übersetzer zu sein und die Bytecode-Dateien in eine Sequenz von 0 und 1 zu übersetzen, die die Plattform zu diesem Zeitpunkt verstehen kann. Mit der JVM kann Ihr Java-Programm dies erreichen „Einmal kompilieren“ „Überall ausführen“ für plattformübergreifende Zwecke. Also los geht's. Wir wissen, dass der grundlegende Grund, warum Java-Programme plattformübergreifend sind, der Grund ist, warum die Java Virtual Machine JVM existiert.

Das wichtige Verständnis von JVM ist:

Für Java-Programme kennen wir nur ein Betriebssystem, und dieses System ist JVM, Bytecode Die Datei (a (Dokument mit der Erweiterung .class) ist die ausführbare Datei der JVM.

Im Idealfall ist es einem Java-Programm egal, auf welcher Plattform es tatsächlich ausgeführt wird, solange es weiß, wie es auf der JVM ausgeführt wird. Wie die JVM tatsächlich mit der zugrunde liegenden Plattform kommuniziert JVMs eigenes Unternehmen. Da die JVM tatsächlich dem Betriebssystem des Java-Programms entspricht, ist die JVM für die verschiedene Ressourcenverwaltung des Java-Programms verantwortlich.

Wir müssen uns an zwei Punkte erinnern:

1. JVM ist das Betriebssystem von Java-Programmen und die ausführbare Datei von JVM ist die .class-Datei.

2. Die Java Virtual Machine schirmt die Unterschiede zwischen Betriebssystemen ab, aber verschiedene Systeme verwenden unterschiedliche virtuelle Maschinen.

Das obige ist der detaillierte Inhalt vonWarum wird ein Java-Programm „einmal kompiliert und überall ausgeführt“?. 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