Hi Frank und Sven,
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.
Ich verstand das so: die VM interpretiert den ByteCode zur Laufzeit und gibt dabei Maschinencode aus.
Wenn die virtuelle _Maschine_ ihren eigenen Bytecode interpretiert,
ist das dann kein Maschinencode?
Was meinst Du mit "eigenen Bytecode"?
Nichts spricht gegen einen in Hardware implementierten Interpreter.
Was ist dann deiner Meinung nach der unterschied zwischen "einem in
Hardware implementierten Interpreter" und einer normalen CPU, die
Maschinencode ausführt (wie zb. x86)?
Die Anzahl der Indirektionen bzw. die "Position" in der Kaskade.
VM: Quellcode -> Bytecode -> VM -> Machinencode -> Prozessor -> Microcode -> Recheneinheiten
Liege ich da jetzt falsch?
Viel Grüße,
Martin
bye, Frank!