Kann mir jemand erklären, wofür Java JRE beim Programmieren benötigt wird?

2 Antworten

Der Java-Compiler "javac" übersetzt Deinen Java-Sourcecode (".java"-Dateien) in Java-Bytecode (".class"-Dateien), bei dem es sich um Binärcode für eine virtuelle Maschine (stackbasierte Architektur) handelt. Dieser befindet sich (gemeinsam mit einem Haufen anderem Kram) im JDK (Java Development Kit).

Dieser Binärcode wird dann bei der Ausführung zur Laufzeit von der JVM (Java Virtual Machine) interpretiert (oder auch "JIT-compiliert" = "just-in-time-compiliert" = zur Laufzeit in Maschinensprache übersetzt und dann ausgeführt). Dieses Programm, die JVM, befindet sich (zusammen mit den Bibliotheken) im JRE (Java Runtime Environment).

Der Gag bei dieser Sache ist, dass der vom Compiler ("javac") erzeugte Zwischencode unabhängig von der Prozessorarchitektur des Zielrechners ist. Deshalb kann das selbe Bytecode-Programm auf unterschiedlichen Architekturen ausgeführt werden, ohne es neu zu übersetzen, solange für die jeweilige Architektur ein JRE verfügbar ist.

Beim Programmieren selber nicht, allerdings beim Ausführen des Programmes.

Was möchtest Du wissen?