Der virtuelle Prozessor

Breward

Neues Mitglied
Hallo Leute,

Das ist ein Zitat aus einem Java-Buch :
""Damit der Programmcode des virtuellen Prozessors ausgeführt werden kann, führt nach der Übersetzungsphase die Laufzeitumgebung (auch Runtime-Interpreter genannt), also die Java Virtual Machine (JVM), den Bytecode aus.""

Jetzt meine Frage was kann ich mir unter einem virtuellen Prozessor vorstellen...übersetzt heißt das ja nichts anderes als erdachter Prozessor...aber wie läßt sich denn dann der Programmcode ausführen...und wo befindet sich dieser...
Dies ist mir absolut unklar...wie ich mir das vorstellen kann...mir fehlt jeglicher Bezug dazu...

Ich würde mich über jede konstruktive Antwort freuen....
Und danke im voraus für eure Kooperation!!

Gruss

Breward
 

XHelp

Top Contributor
Wenn man ein Zitat aus einem Buch bringt, kann es nie schaden das Buch auch zu nennen. Es geht wohl im Java ist auch eine Insel. Im nächsten Satz nach deinem Zitat steht:
http://openbook.galileocomputing.de/javainsel/javainsel_01_002.html#dodtp5340c015-8cab-4f81-b1a6-167006ed0389 hat gesagt.:
Die Laufzeitumgebung lädt den Bytecode, prüft ihn und führt ihn in einer kontrollierten Umgebung aus.

Ich würde mal vermuten, dass in diesem Zusammenhang damit eben diese "kontrollierte Umgebung" gemeint ist.
 
S

Spacerat

Gast
Vorab: Interpreter ist unheimlich veraltet. Der Bytecode wird nicht mehr nur schlicht interpretiert sondern Just-In-Time in nativen Code übersetzt. Nativer Code ist dann das, was der Systemprozessor verarbeiten kann. Und das wäre dann im Prinzip auch schon alles, was es zum virtuellen Prozessor zu sagen gibt. Wenn man so will, eine Art Emulator, nur mit dem Unterschied, das nichts emuliert wird.
 

turtle

Top Contributor
Java-Programme werden in Java Bytecode übersetzt. Diese stellen Operationen für eine Prozessor dar, den es in echter Hardware nicht gibt (also virtuell).

Ich nehme mal die Versuche einen richtigen Java-Prozessor zu bauen hier aus.

Nun kann aber ein Programm, ein Emulator, entwickelt werden, der auf einer realen Maschine läuft, und die Operationen auf dem virtuellen Prozessor abbildet und auf der realen Hardware ausführt, interpretiert bzw. emuliert.

Dieses Konzept verfolgt Java intensiv mit seiner JVM (Java virtual machine). Natürlich ist ein Programm, dass erst interpretiert werden muss, um auf realer Hardware zu laufen, prinzipbedingt langsamer als Code, der direkt für eine bestimmte Hardware entwickelt wurde.

Hier aber hat Java mit jeder neuen Version beträchtlich an Geschwindigkeit zugelegt. Hinzu kommt der grosse Vorteil, das der Java Bytecode unverändert auf JEDER Hardware laufen kann, für die ein Emulator/JVM entwickelt wurde. Und bei Java sind das Geräte von Mainframes, PC, Unix, Mac, Handy, Fernseher,...
 

Ähnliche Java Themen


Oben