zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Ja. Java Hardware Prozessorchips wurden auf Siliziumbasis entworfen und können Bytecode Dateien direkt ausführen.

Java Virtuelle Maschine

Üblicherweise verfügen Computer über keinen Hardware Java Prozessor (obwohl solche Computer gebaut worden sind).

Jetzt zum intelligenten Teil: Der Java Prozessor kann als Software implementiert werden. Er ist als ein Programm implementiert, das den Bytecode liest und die Operationen, die dieser spezifiziert, ausführt.

Das ist ein anderer Typ von Interpreter. Manche Interpreter führen Quellcode aus, der in einer höheren Programmiersprache wie Basic geschrieben wurde. Andere, wie der Java Interpreter, führen Bytecode aus.

Dieser zweite Typ eines Interpreters wird manchmal auch als Emulator bezeichnet, da er Hardware emuliert. Er ist aber in Wirklichkeit Software. Ein Java Bytecode Interpreter kann für jedes beliebige Computersystem entworfen werden. Sobald wir einen Java Compiler und Interpreter haben, können wir jedes Java Programm auf jeden beliebigen Computer ausführen.

Der Java Interpreter in der Abbildung ist ein ausführbares Programm, das auf einem gewöhnlichen Computersystem läuft (wie z.B. einem Intel Desktop System). Jeder Typ eines Computersystems hat seinen eigenen Java Interpreter, der auf diesem System laufen kann. Der "tatsächliche Prozessor" ist die wirkliche Hardware, der Prozessorchip dieses Computersystems.

(Noch ein) Wichtiger Gedanke: Der Java Interpreter, der auf jedem beliebigen Computersystem läuft, verhält sich wie ein Hardware Java Prozessorchip. Er ist eine Java Virtuelle Maschine

Jedes Computersystem kann Java Bytecode Programme ausführen, wenn es einen Java Interpreter hat.

Der Java Interpreter muss speziell für den bestimmten Prozessortyp des Computersystems geschrieben sein, aber wenn das geschehen ist, kann das Computersystem eine Java Virtuelle Maschine werden. Das heißt, es verhält sich wie ein Computer mit einem Java Hardware Prozessorchip der Java Bytecode ausführen kann.

Wenn ein Java Programm in Bytecode übersetzt wird, ist der Bytecode genau der Gleiche, ganz egal welches Computersystem verwendet wird.

Ein Java Quellprogramm (wie Hello.java) kann z.B. auf einem Windows Computer geschrieben und kompiliert werden, um den Bytecode Hello.class zu erzeugen. Jetzt kann dieser Bytecode auf jedem Computer, der einen Java Interpreter hat, ausgeführt werden.


FRAGE 4:

Einmal angenommen, Apple hat gerade einen Computer mit einem neuartigen Prozessortyp entwickelt und möchte, dass dieser Computer Java Programme ausführt. Was muss Apple tun?