Heim  >  Artikel  >  Java  >  Warum ist die Java-Sprachplattform unabhängig?

Warum ist die Java-Sprachplattform unabhängig?

藏色散人
藏色散人Original
2020-04-23 11:09:124096Durchsuche

Warum ist die Java-Sprachplattform unabhängig?

Warum soll die Java-Sprache plattformunabhängig sein?

1. Plattform- und Maschinenanweisungen

Unabhängig davon, in welcher Programmiersprache eine Anwendung geschrieben ist, muss sie zur Fertigstellung das Betriebssystem und den Prozessor durchlaufen Daher besteht die Plattform hier aus Betriebssystem und CPU. Die sogenannte Plattformunabhängigkeit bedeutet, dass die Software aufgrund von Änderungen im Betriebssystem und Prozessor nicht ausfällt.

Jede Plattform verfügt über ihre eigenen einzigartigen Maschinenanweisungen. Die sogenannten Maschinenanweisungen einer Plattform sind ein Sequenzcode aus Nullen und Einsen, der von der Plattform direkt erkannt und ausgeführt werden kann. Die Maschinenanweisungen von Plattformen, die von derselben CPU und unterschiedlichen Betriebssystemen gebildet werden, können unterschiedlich sein

Empfohlenes Tutorial: „Java-Lernen

2. Was ist plattformbezogen?

C/C++-Programme sind plattformabhängig: Die spezifische Plattform, auf der sich das C/C++-Quellprogramm befindet, kompiliert und verknüpft seine Quelldateien und generiert Maschinenanweisungen, d. h. sie generiert ausführbare Dateien basierend auf der Maschine Anweisungen der aktuellen Plattformdatei, sodass diese ausführbare Datei auf jeder Plattform ausgeführt werden kann, die mit der aktuellen Plattform identisch ist. Es gibt jedoch keine Garantie dafür, dass die vom C/C++-Quellprogramm generierten ausführbaren Dateien auf allen Plattformen korrekt ausgeführt werden können, da verschiedene Plattformen möglicherweise unterschiedliche Maschinenanweisungen haben. Sobald die Plattform geändert wird, muss daher möglicherweise das Quellprogramm geändert und für die neue Plattform neu kompiliert werden, was plattformabhängig ist.

Der Hauptgrund, warum C/C++-Programme nicht plattformübergreifend sein können, besteht darin, dass der Compiler des C/C++-Quellprogramms für die Plattform kompiliert und verschiedene Plattformen unterschiedliche Maschinenanweisungen haben, sodass es nicht plattformübergreifend sein kann .

3. Warum Java plattformübergreifend sein kann

Der Grund, warum C/C++ nicht plattformübergreifend sein kann, liegt darin, dass das C/C++-Quellprogramm für die kompiliert wird Die Plattform ist also nicht eng mit der Plattform verbunden. Wenn es eine solche Umgebung gibt: Sie ist sowohl abwärtskompatibel (kompatibel mit der Plattform) als auch aufwärtskompatibel (das Programm kann ausgeführt werden), wäre sie dann nicht plattformübergreifend? Basierend auf diesem Prinzip stellt Java eine Java-Laufumgebung – JRE (Installation von JDK) auf dem Betriebssystem des Computers bereit.

JRE besteht aus einer Java Virtual Machine, Klassenbibliotheken und einigen Kerndateien. Das heißt, solange die Plattform eine Java-Laufumgebung bereitstellt, kann in Java geschriebene Software darauf ausgeführt werden.

Im Gegensatz zu C/C++ programmiert der von der Java-Sprache bereitgestellte Compiler nicht für ein bestimmtes Betriebssystem und einen bestimmten CPU-Chip, sondern kompiliert das Java-Quellprogramm in einen sogenannten Bytecode für die Java Virtual Machine Code“ ist die Java Virtual Machine dann dafür verantwortlich, den Bytecode in den Maschinencode der Plattform zu übersetzen, auf der sich die virtuelle Maschine befindet, und die aktuelle Plattform den Maschinencode ausführen zu lassen.

Das Funktionsprinzip der Java-Sprache:

Die auf einem Computer kompilierte Bytecode-Datei (d. h. die .class-Datei) kann direkt auf jeden Computer kopiert werden, auf dem die Java-Laufzeitumgebung installiert ist. laufen. Die Bytecode-Datei wird dann von der virtuellen Maschine interpretiert und ausgeführt. Das heißt, die Java Virtual Machine übersetzt den Bytecode in den Maschinencode des lokalen Computers und übergibt den Maschinencode dann zur Ausführung an das lokale Betriebssystem.

Da die auf einem Computer kompilierte Bytecode-Datei auf jeden Computer mit installierter Java-Laufzeitumgebung kopiert und direkt verwendet werden kann, handelt es sich bei dem Bytecode tatsächlich um eine Art „Zwischencode“, weshalb „Java-Sprache“ sein kann Einmal kompiliert und überall ausgeführt, deshalb ist Java plattformübergreifend. Daher wird Java als „halbkompilierte, halbinterpretierte Sprache“ bezeichnet, d ——>Maschinensprache entsprechend der Plattform. ”

Das obige ist der detaillierte Inhalt vonWarum ist die Java-Sprachplattform unabhängig?. 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