JVM vs. JRE

Status
Nicht offen für weitere Antworten.
R

roli_07

Gast
Hallo Leute

Ich bin etwas "confused" und verstehe offenbar den Unterschied zwischen JVM und JRE nicht.

Gehe ich richtig in der Annahme, dass JVM eigentlich die java.exe ist und somit ein Bestandteil von JRE?

Und wenn es so ist, ist JVM (java.exe) eigentlich das, was man auch Interpreter nennt? Wenn nicht, was ist eigentlich mit dem Interpreter gemeint?

Danke für Hilfe.
 
G

Guest

Gast
roli_07 hat gesagt.:
Gehe ich richtig in der Annahme, dass JVM eigentlich die java.exe ist und somit ein Bestandteil von JRE?
java.exe ist nur der "Launcher" für die JVM. JVM ist, wie der Name schon sagt, die virtuelle Machine, also der
Interpreter (+ noch zig Sachen mehr wie JIT-Compiler etc.) für Java. JVM ist der Kern der ganzen Geschichte.
JRE besteht aber noch aus anderen Hilfsprogrammen, Standardbibliotheken und sonstigen Dateien.

roli_07 hat gesagt.:
Und wenn es so ist, ist JVM (java.exe) eigentlich das, was man auch Interpreter nennt? Wenn nicht, was ist eigentlich mit dem Interpreter gemeint?
Jajn. Man kann es so sagen, aber ohne das (java.exe). Du kannst dir selbst einen solchen Launcher schreiben und
brauchst kein java.exe, um deine Programme auszuführen. Ein Beispiel wäre z.B. eclipse.exe
 
R

roli_07

Gast
Danke für die Antworte

Ich probiere es noch einmal:

- JVM ist ein Bestandteil der JRE! JRE hat noch andre Dinge und Bibliotheken!

JVM enthält JIT und andere Hilfsprogramme für Laden von Klassen, Allokation vom Speicher, Synchronisation von Threads, Anlegen von Objekt-Pools, Konstanten-Pools usw.

Rolle vom JIT:
Ist meine Annahme korrekt, dass mit JIT der Bytecode (*.class) so kompiliert wird, dass das resultierende Compilat direkt auf der Zielhardware ausgeführt wird?

Danke.
 
G

Guest

Gast
roli_07 hat gesagt.:
Danke für die Antworte

Ich probiere es noch einmal:

- JVM ist ein Bestandteil der JRE! JRE hat noch andre Dinge und Bibliotheken!

JVM enthält JIT und andere Hilfsprogramme für Laden von Klassen, Allokation vom Speicher, Synchronisation von Threads, Anlegen von Objekt-Pools, Konstanten-Pools usw.

Rolle vom JIT:
Ist meine Annahme korrekt, dass mit JIT der Bytecode (*.class) so kompiliert wird, dass das resultierende Compilat direkt auf der Zielhardware ausgeführt wird?

Danke.
:toll:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben