Martin Jung: Was genau bedeutet "compilieren"?

Beitrag lesen

Hi Henryk,

Das wird sogar noch philosophischer als dein harmloser Text vermuten lässt :) Der Java-Bytecode wird nämlich auf einer virtuellen Maschine _ausgeführt_ und nicht interpretiert ist also strenggenommen genauso Maschinencode wie das was die gängigen C-Compiler ausspucken.

Die VM _ist_ ein Interpreter! Sie interpretiert ByteCode http://java.sun.com/docs/books/vmspec/2nd-edition/html/Introduction.doc.html#3087

Das wird noch unterstrichen dadurch, dass es Prozessoren gibt, die eine Java-Maschine in Hardware haben. Da wird also der Bytecode direkt ausgeführt.

Nichts spricht gegen einen in Hardware implementierten Interpreter.

Viel Grüße,
Martin