zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

  1. Übersetzen (in Maschineninstruktionen, die dann vom Prozessor ausgeführt werden.)
  2. Interpretieren (durch ein Interpreter Programm.)

Bytecode

Java kombiniert diese Konzepte auf eine Weise, die der Erklärung bedarf. Damit das Beispielprogramm läuft, muss es zuerst in Bytecode übersetzt werden.

Java Bytecode besteht aus Maschineninstruktionen für einen Java Prozessor. Eine Bytecode Datei ist ein Maschinensprachprogramm für einen Java Prozessor.

Konzeptuell ist ein Java Prozessor ein Prozessorchip aus Silizium, der die vom Java Bytecode verlangten Maschinenbefehle direkt ausführt.

Die oben stehende Abbildung zeigt wie der Java Compiler ein Java Beispielprogramms Hello.java in Bytecode übersetzt. Die Datei mit dem Bytecode wird Hello.class genannt.

In dieser Abbildung wird das Quellprogramm Hello.java von einem Programm mit dem Namen javac kompiliert. Das Programm javac ist ein Compiler (ein Übersetzer), der das Quellprogramm in eine Bytecode-Datei mit dem Namen Hello.class übersetzt.

Wichtiger Gedanke: Die Bytecode-Datei wird genau den gleichen Bytecode enthalten, ganz egal welches Computersystem verwendet wird.

Die Architektur eines Prozessors, der Java Bytecode ausführt, ist sehr gut dokumentiert und für jeden zugänglich. Der Java Compiler auf einem Macintosh wird exakt den gleichen Bytecode erzeugen, wie der Java Compiler auf einem Intel System.

FRAGE 3:

Könnte ein Prozessorchip gebaut werden, der Java Bytecode direkt ausführen kann, genauso wie ein Intel Prozessorchip seine Maschinensprache direkt ausführt?