2017-01-09 3 views
1

Ich frage mich, ob JRE's von verschiedenen Betriebssystemen (zum Beispiel; Windows, Linux, Mac, etc.) alle unterschiedlich und plattformabhängig sind? Der Grund, warum ich das frage ist, weil wenn Java Bytecode plattformunabhängig ist, das bedeutet, dass eine JRE für ein bestimmtes Betriebssystem denselben Bytecode implementieren muss, ein Bit, das speziell für das OS geeignet ist, oder? Danke im Voraus.Sind verschiedene OS JREs anders?

+0

Java ist plattformunabhängig, da plattformabhängige Compiler/Interpreter für viele Plattformen vorhanden sind. Es ist plattformunabhängig in dem Sinne, dass wir unseren Code nicht ändern müssen, um auf einer anderen Plattform zu laufen, jedoch müssen wir plattformspezifische JRE-Versionen verwenden, um die Programme auszuführen. – 11thdimension

+1

Das ist so ziemlich das Kernkonzept von Java - das JRE ist plattformspezifisch, der Bytecode ist es nicht. – stdunbar

+0

Während Bytecode nicht Betriebssystemabhängig ist, sind Java Virtual Machines. –

Antwort

4

Die Java-Laufzeitumgebung (JRE) ist plattformabhängig; obwohl sie den gleichen Java Bytecode ausführen.

+0

Richtig. Im Wesentlichen besteht der Zweck einer JRE darin, Java so zu machen, dass sie plattformunabhängig ist (zumindest so viel wie möglich). –

1

Die JREs beide sind Plattform und Architektur-spezifisch, aber die Bytecode und JVM-Funktion identisch zwischen allen Plattformen (es gibt immer noch einen Unterschied zwischen Architekturen x86 und x64)

1

JRE ist ein Akronym für Java Runtime Environment.It wird verwendet, um eine Laufzeitumgebung bereitzustellen, die JVM + -Bibliotheken (die von jvm benötigt werden) und andere Komponenten zum Ausführen von Applets und Anwendungen, die in Java geschrieben sind, bereitstellt.

Die Java Virtual Machine (JVM) ist die virtuelle Maschine, auf der die Java-Bytecodes ausgeführt werden. Die JVM versteht den Java-Quellcode nicht, deshalb kompilieren Sie Ihre * .java-Dateien, um * .class-Dateien zu erhalten, die die von der JVM verständlichen Bytecodes enthalten. Sie schreiben Ihren Code also einmal (generieren Sie .class-Dateien) und führen ihn auf verschiedenen JVMs aus. Es gibt spezifische Implementierungen der JVM für verschiedene Systeme (Windows, Linux ..). JVM dosiert diese Aufgaben Laden von Klassen, Überprüfen von Code, Ausführen von Code und Bereitstellen von Laufzeitumgebung.

Es gibt auch einen anderen Begriff namens JDK, der aus JRE + -Entwicklungstools besteht.

Verwandte Themen