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.