interpretiert & schnell


Das klingt erstmal wie ein Widerspruch:
Java-Programme werden nicht direkt vom Prozessor ausgeführt, sondern von einem speziellen Programm, dem sog. "Interpreter" (Im Gegensatz dazu werden bei anderen Sprachen Programme von einem sog. "Compiler" in direkt ausführbaren Code übersetzt).

Das hat so seine Vor- und Nachteile:
Einerseits entfallen beim Entwickeln verschiedene Schritte, wie z.B. das Verknüpfen verschiedener Programmteile ("Linken").
Der große Nachteil ist -trotz aller Beteuerungen- natürlich die langsamere Ausführungsgeschwindigkeit.

Sun hat hier jedoch einen Zwischenschritt eingefügt: 
Java wird von einer Art "Vorübersetzer" in sog. "Bytecode" übersetzt. Der große Vorteil bei der Entwicklung, nicht bei jeder kleinen Änderung den Compiler anschmeißen zu müssen, geht damit leider wieder verloren.

Dieser "Bytecode" ist jedoch sehr "maschinennah" - d.h. es kann relativ einfach und schnell direkt ausführbarer Code erzeugt werden.
Außerdem erzeugen inzwischen sog. "Just-In-Time"-Compiler aus dem "Bytecode" kurz vor der Ausführung "echten" Maschinencode des Ziel-Prozessors. Die Geschwindigkeit wird dabei um den Faktor 10 und mehr gesteigert.
Darüber hinaus stehen spezielle, von Sun entwickelte, Java-Prozessoren vor der Tür! Diese führen Java-Programme dann direkt aus.


prev next