JVM vs. JRE
Java ist eine plattformübergreifende Programmiersprache. Es hält sich auch an das Prinzip „Einmal schreiben, überall ausführen“. Das in Java geschriebene Programm kann durch den Java-Compiler in Java-Bytecode kompiliert werden. Anschließend kann der Bytecode auf jeder Plattform ausgeführt werden, auf der die JRE (Java Runtime Environment) ausgeführt wird. JRE umfasst die JVM (Java Virtual Machine), Basisbibliotheken (die die Java-API implementieren) und andere unterstützende Dateien. JVM ist eine abstrakte Rechenmaschine, die als Vermittler zwischen der plattformspezifischen JRE und dem Java-Code fungiert.
Was ist JVM?
JVM ist eine Art virtuelle Maschine, die von Maschinen verwendet wird, um Java-Bytecode auszuführen. Laut Sun Microsystems (der Java entwickelt hat, bis es vor kurzem von Oracle aufgekauft wurde) gibt es weltweit mehr als 4 Milliarden JVM-fähige Geräte. Genauer gesagt ist Java Virtual Machine eine abstrakte Rechenmaschine, die auf Standardhardware und -betriebssystem implementiert ist. Eine der wichtigen Funktionen der JVM ist die automatisierte Ausnahmebehandlung. Typischerweise wird die JVM von einer Sammlung von Standardbibliotheken begleitet. Tatsächlich ist JRE ein Bündel, das die JVM und die Klassen enthält, die die Java-API implementieren. JVM ist eine sehr wichtige Komponente, die der „einmal kompilieren, überall ausführen“-Natur der Java-Programmiersprache Rechnung trägt. Solange die JVM ausgeführt wird, kann Ihr Java-Code darauf ausgeführt werden, unabhängig von der auf der Maschine verwendeten Plattform. Aus diesem Grund wird Java als plattformübergreifende oder plattformübergreifende Sprache bezeichnet.
Was ist JRE?
JRE ist die Ausführungsumgebung, auf der Java-Code ausgeführt wird. Typischerweise besteht JRE aus der JVM, standardmäßigen Basisklassen (die die Basis-Java-API implementieren) und anderen unterstützenden Dateien. Art und Struktur von JRE variieren je nach Betriebssystem und CPU-Architektur. Wenn der Java-Code ausgeführt wird, kommuniziert die JRE mit dem Betriebssystem, das wiederum mit den entsprechenden Hardwarekomponenten kommuniziert. Die Installation von JRE auf Ihrem System ist ein Muss, um Java-Code auf Ihrem Computer auszuführen. JRE enthält jedoch keinen Compiler, Debugger oder andere Tools, die für die Entwicklung von Java-Programmen benötigt werden (wie Appletviewer und Javac). Wenn Sie Programme in Java entwickeln müssen, benötigen Sie das JDK (Java Development Kit), das auch die JRE enthält.
Was ist der Unterschied zwischen JVM und JRE?
Obwohl die Begriffe JVM und JRE im alltäglichen Gebrauch synonym verwendet werden, haben sie ihre Unterschiede. JVM ist eine virtuelle Maschine, die auf dem Betriebssystem ausgeführt wird, während JRE die Laufzeitausführungsumgebung ist. JVM ist ein Teil der JRE. Die JVM-Spezifikation fungiert als Bindeglied zwischen der plattformspezifischen JRE-Implementierung und den Standard-Java-Bibliotheken. Daher ist JVM die Entität, die dem Programmierer die Abstraktion von den inneren Implementierungsdetails bereitstellt. Und es ist für die Interpretation des kompilierten Bytecodes verantwortlich. JVM benötigt jedoch die Basisbibliotheken und andere unterstützende Dateien, um den Java-Bytecode auszuführen. Aber manchmal wird JRE einfach als Implementierung von JVM identifiziert.