Diskussion:Java Virtual Machine
Erscheinungsbild
Kurze Frage: Ist es nicht vielmehr so, dass die JVM Objektcode in Bytecode "umrechnet", damit der Prozessor den Bytecode ausführen kann ?? --DaB. 18:44, 10. Feb 2003 (CET)
- Uh, Vorsicht mit den Begriffen. Bytecode ist ein neu erfundener Begriff, er bezeichnet direkt den Code, den die JavaVM ausführt. Objektcode ist IMHO jede binäre zum Linken vorbereitete Form von Code, also auch Bytecode. Zur Frage: Die VM führt den plattformunabhängigen Bytecode aus, dabei kann sie JIT's verwenden, die den Bytecode in den jeweiligen Maschinencode übersetzen. Ich hoffe Dir wurde geholfen. :-) -- Dishayloo 23:13, 2. Jun 2003 (CEST)
Eine Bemerkung zum "sinnfreien Satz": Wie soll ein Computer denn _irgendetwas_ auswerten, wenn er es nicht parst, zumal wir hier von einem _Interpreter_ sprechen, der Bytecode in Maschinencode umsetzt... Darüber hinaus führte _exakt dieser Parseroverhead_ zur Entwicklung der dynamisch optimierenden Hotspot-Engine, welche Bytecode in Maschinencode umsetzt und somit das wiederholte Parsen des Bytecodes überflüssig machte.
Gruß HbJ
- siehe Parser (Informatik) oder http://www.wikipedia.org/wiki/Parser (ausführlicher). Hier wird von Quelltexten, bzw. einer grammatischen Struktur gesprochen. Bytecode hat keine grammatische Struktur, er wird einfach sequentiell abgearbeitet. Ein JPG-Bild wird ja auch nicht geparst. Der Bytecode wird interpretiert oder dekodiert, das stimmt. :-) Das mit dem Geschwindigkeitsnachteil stimmt so nicht einmal, da mit JITs heute die VMs schneller arbeiten als kompilierter Java-Code. Schliesslich war es ein langer Satz mit wenig Substanz. Aus all diesen Gründen habe ich ihn gelöscht, und nur den letzten genannt (Bequemlichkeit). Ist so klarer, was ich meinte? -- Dishayloo 00:28, 3. Jun 2003 (CEST)