Java Reference
In-Depth Information
ausführbaren Code übersetzt, der auf dem System lauffähig ist, sondern in einen Zwi-
schencode. Diese Zwischenstufe wird als Bytecode bezeichnet. Der Java-Compiler
erzeugt beim Übersetzen Bytecodedateien mit der Dateiendung .class . Dieser Umstand
macht für die Ausführung des Programms einen Interpreter erforderlich. Dieser inter-
pretiert allerdings keinen Quellcode, sondern Bytecode. Der Java-Interpreter, der auf
dem betreffenden System installiert sein muss, wird entweder als Virtuelle Maschine
( VM ) oder als Java Runtime Environment ( JRE ) bezeichnet.
1
import javax.swing.JOptionPane;
public class Collatzfolge {
public
static
void main(String[] args)
{
int n;
String eingabe;
...
Quellcode
JAV A -Compiler
Entwicklungs-
system
0001 0101 0010 1101 0110 0011 1110 0111
1010 1100 1111 0001 0111 1011 0011 1001
0100 …
Bytecode
0001 0101 0010 1101 0110 0011 1110 0111
1010 1100 1111 0001 0111 1011 0011 1001
0100 …
Bytecode
Interpreter
(Virtu e lle Maschine)
1011 1101 0110 1001
0010 1010 1010 …
Maschinencode
Zielsystem
Abbildung 1.13 Hochsprachenprogrammierung mit Java
Java kombiniert die Vorteile eines Compiler- und eines Interpreter-Systems. Es soll
nicht verschwiegen werden, dass mit der Verwendung eines Interpreters auf dem Ziel-
system ein Geschwindigkeitsnachteil bei der Ausführung des Programms einhergeht.
Die Übersetzung des Bytecodes ist allerdings weit weniger zeitaufwändig als eine Über-
setzung aus dem Quellcode. Zusätzlich wurde eine Vielzahl von Optimierungen vorge-
nommen, sodass der Geschwindigkeitsnachteil vor allem unter Berücksichtigung der
 
Search WWH ::




Custom Search