Heim Java javaLernprogramm Warum ist Java plattformübergreifend?

Warum ist Java plattformübergreifend?

May 22, 2019 pm 05:51 PM
java jvm

Plattformübergreifende Gründe: Java Virtual Machine (JVM) kann plattformübergreifend sein; JAVA-Programme werden nicht direkt auf dem Computer (CPU) ausgeführt, sondern auf der Java Virtual Machine (JVM). Alle verfügen über eine eigene virtuelle JVM-Maschine, sodass die JAVA-Sprache plattformübergreifend verwendet werden kann. Java kompiliert zunächst Java-Dateien in binäre Bytecode-Klassendateien, und dann interpretiert und führt JVM die Klassendateien aus. Da Java auf JVM ausgeführt wird, kann sein Code ohne Änderung auf JVMs auf verschiedenen Plattformen ausgeführt werden.

Warum ist Java plattformübergreifend?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Java 8-Version, DELL G3-Computer.

Warum kann die JAVA-Sprache plattformübergreifend sein?

Der Grund, warum Java plattformübergreifend sein kann, liegt darin, dass die Java Virtual Machine (JVM) plattformübergreifend sein kann.

Denn der vom Java-Programm kompilierte Code ist kein Code, der direkt vom Hardwaresystem ausgeführt werden kann, sondern ein „Zwischencode“ – Bytecode. Anschließend werden verschiedene Java Virtual Machines (JVM) auf unterschiedlichen Hardwareplattformen installiert und die JVM „übersetzt“ den Bytecode in Code, der von der entsprechenden Hardwareplattform ausgeführt werden kann. Daher besteht für Java-Programmierer keine Notwendigkeit, die Hardwareplattform zu berücksichtigen. So kann Java plattformübergreifend sein.

Warum ist Java plattformübergreifend?

Da es über eine virtuelle Maschine (JVM) verfügt, wird das JAVA-Programm nicht direkt auf dem Computer, sondern auf der Java Virtual Machine (kurz JVM) ausgeführt Jede Plattform verfügt über eine eigene virtuelle Maschine (JVM), sodass die JAVA-Sprache plattformübergreifend verwendet werden kann.

  • Java-Code läuft nicht direkt auf der CPU, sondern auf der Java Virtual Machine (JVM).

  • Java kompiliert zunächst die Java-Datei in eine Klassendatei mit binärem Bytecode, und dann interpretiert der JVM die Klassendatei und führt sie aus.

  • Da Java auf JVM ausgeführt wird, kann sein Code ohne Änderung auf JVM auf verschiedenen Plattformen ausgeführt werden.

Wissen erweitern:

Die professionelle Erklärung von JVM lautet wie folgt

Java Virtual Machine (kurz JVM) ist eine Spezifikation für Computergeräte. Dabei handelt es sich um einen fiktiven Computer, der durch die Simulation verschiedener Computerfunktionen auf einem tatsächlichen Computer implementiert wird. Die Java Virtual Machine besteht aus einer Reihe von Bytecode-Anweisungen, einer Reihe von Registern, einem Stapel, einem Garbage-Collection-Heap und einem Speichermethodenfeld. Die JVM schirmt die Informationen ab, die sich auf die spezifische Betriebssystemplattform beziehen, sodass das Java-Programm nur den Zielcode (Bytecode) generieren muss, der auf der virtuellen Java-Maschine ausgeführt wird, und ohne Änderungen auf mehreren Plattformen ausgeführt werden kann. Wenn die JVM Bytecode ausführt, interpretiert sie letztendlich den Bytecode in Maschinenanweisungen zur Ausführung auf der spezifischen Plattform.

Es ist normal, wenn Sie die obige Erklärung nicht verstehen. Ich wollte zunächst keine professionelle Erklärung veröffentlichen, aber nachdem ich darüber nachgedacht hatte, habe ich beschlossen, es nicht zu tun ein detailliertes Verständnis der JVM. Wenn Sie die professionelle Erklärung nicht verstehen, sage ich es Ihnen im Klartext:

JVM, auch bekannt als Java Virtual Machine, ist eine Plattform, die in JRE enthalten ist. Wenn Sie ein Java-Programm ausführen müssen, kompiliert die JVM es und führt es für Sie aus. Der von uns geschriebene Java-Quellcode generiert nach der Kompilierung eine .class-Datei, die als Bytecode-Datei bezeichnet wird. Die Java Virtual Machine ist für die Übersetzung von Bytecode-Dateien in Maschinencode für eine bestimmte Plattform und deren anschließende Ausführung verantwortlich.

Und die JVM ist in viele Systemversionen unterteilt, egal auf welcher Plattform Sie das Java-Programm schreiben, ob Windows, Linux oder macOS, Sie müssen nur die JVM finden und sie wird erfolgreich kompiliert . und Ausführung. Mit anderen Worten: Solange die entsprechende JVM auf verschiedenen Plattformen installiert ist, können die Bytecode-Dateien und die von uns geschriebenen Java-Programme ausgeführt werden. Aus diesem Grund verfügt Java über gute plattformübergreifende und plattformunabhängige Funktionen.

Während dieses Prozesses hat das von uns geschriebene Java-Programm keine Änderungen vorgenommen. Es kann auf verschiedenen Plattformen nur über die „mittlere Schicht“ der JVM ausgeführt werden, wodurch der Zweck „einmal kompilieren und überall ausführen“ wirklich realisiert wird.

JVM ist eine „Brücke“, eine „Middleware“, und der Schlüssel zum plattformübergreifenden Java-Code wird zunächst in Bytecode-Dateien kompiliert, und dann übersetzt die JVM die Bytecode-Dateien in Maschinensprache, wodurch das erreicht wird Zweck der Ausführung von Java-Programmen.

Hinweis: Das Ergebnis der Kompilierung ist nicht die Generierung von Maschinencode, sondern die Generierung von Bytecode. Der Bytecode kann nicht direkt ausgeführt werden und muss von der JVM in Maschinencode übersetzt werden, bevor er ausgeführt werden kann. Der durch Kompilierung auf verschiedenen Plattformen generierte Bytecode ist derselbe, aber der von der JVM übersetzte Maschinencode ist unterschiedlich.

Daher muss das Ausführen von Java-Programmen über die Unterstützung von JVM verfügen, da das kompilierte Ergebnis kein Maschinencode ist und von der JVM erneut übersetzt werden muss, bevor es ausgeführt werden kann. Auch wenn Sie Ihr Java-Programm in eine ausführbare Datei (z. B. .exe) packen, benötigen Sie dennoch JVM-Unterstützung.

Hinweis: Cross-Plattform ist ein Java-Programm, keine JVM. JVM wird in C/C++ entwickelt und ist kompilierter Maschinencode. Es ist nicht möglich, verschiedene Versionen von JVM auf verschiedenen Plattformen zu installieren.

Über die Ausführungseffizienz von JVM

In den ersten Jahren nach der Einführung von Java waren die Leute unterschiedlicher Meinung. Die Interpretation von Bytecode muss viel langsamer sein als die Ausführung von Maschinencode bei voller Geschwindigkeit. Lohnt es sich, im Austausch für plattformübergreifende Vorteile Einbußen zu machen?

Die JVM verfügt jedoch über eine Option, den am häufigsten verwendeten Bytecode in Maschinencode zu übersetzen und zu speichern, ein Prozess, der als Just-in-Time-Kompilierung bezeichnet wird. Dieser Ansatz ist so effektiv, dass die .NET-Plattform von Microsoft auch virtuelle Maschinen verwendet.

Heutzutage sind Just-in-Time-Compiler so gut, dass sie sogar zu Konkurrenten herkömmlicher Compiler geworden sind. In einigen Fällen übertreffen sie sogar herkömmliche Compiler, da die JVM Laufzeitinformationen überwachen kann. Beispielsweise kann ein Just-in-Time-Compiler häufig verwendeten Code überwachen und optimieren und Funktionsaufrufe (d. h. „Inline“) eliminieren.

Java hat jedoch einen zusätzlichen Overhead, den C/C++ nicht hat, wodurch kritische Anwendungen langsamer werden. Beispielsweise verwendet Java eine plattformunabhängige Zeichenmethode, sodass die Ausführung des GUI-Programms (Client-Programms) ebenfalls langsam dauert.

Empfohlene verwandte Video-Tutorials: Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWarum ist Java plattformübergreifend?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Oct 13, 2024 pm 01:32 PM

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

See all articles