Bytecode
Bytecode ist Programmcode, der aus Quellcode in Low-Level-Code kompiliert wurde, der für einen Software-Interpreter entwickelt wurde. Er kann von einer virtuellen Maschine z. B. einer (JVM) ausgeführt oder weiter in Maschinencode kompiliert werden, den der Prozessor erkennt.
Verschiedene Arten von Bytecode verwenden unterschiedliche Syntax, die von der jeweils passenden virtuellen Maschine gelesen und ausgeführt werden kann. Ein bekanntes Beispiel ist Java-Bytecode, der aus Java-Quellcode kompiliert wird und auf einer Java Virtual Machine (JVM) ausgeführt werden kann. Im Folgenden finden Sie Beispiele für Java-Bytecode-Anweisungen.
- new (neues Objekt erstellen)
- aload_0 (Referenz laden)
- istore einen (Ganzzahl-Wert speichern)
- ladd einen (Long-Wert addieren)
- swap (zwei Werte vertauschen)
- areturn (Wert aus einer Funktion zurückgeben)
Obwohl es möglich ist, Bytecode direkt zu schreiben, ist dies wesentlich schwieriger, als Code in einer höheren Programmiersprache wie Java zu schreiben. Daher werden Bytecode-Dateien, etwa Java-.CLASS-Dateien, meistens mithilfe eines Compilers wie javac aus Quellcode erzeugt.
Bytecode im Vergleich zur Assemblersprache
Bytecode ähnelt der Assemblersprache, da er keine Hochsprache ist, aber im Gegensatz zur Maschinensprache noch einigermaßen lesbar ist. Beide können als „Zwischensprachen“ betrachtet werden, die zwischen Quellcode und Maschinencode liegen. Der wichtigste Unterschied zwischen ihnen besteht darin, dass Bytecode für eine virtuelle Maschine (Software) erzeugt wird, während Assemblersprache für eine CPU (Hardware) erstellt wird.
Testen Sie Ihr Wissen