Bytecode
Le bytecode est du code de programme qui a été compilé à partir de code source en code de bas niveau conçu pour un interpréteur logiciel. Il peut être exécuté par une machine virtuelle comme une (JVM) ou compilé ultérieurement en code machine, reconnu par le processeur.
Différents types de bytecode utilisent une syntaxe différente, qui peut être lue et exécutée par la machine virtuelle correspondante. Le bytecode Java en est un exemple courant. Il est compilé à partir de code source Java et peut être exécuté sur une machine virtuelle Java (JVM). Voici quelques exemples d'instructions en bytecode Java.
- new (créer un nouvel objet)
- aload_0 (charger une référence)
- istore stocker une valeur (entière)
- ladd additionner une valeur (longue)
- swap (permuter deux valeurs)
- areturn (renvoyer une valeur depuis une fonction)
Bien qu'il soit possible d'écrire directement du bytecode, cela est beaucoup plus difficile que d'écrire du code dans un langage de haut niveau comme Java. Par conséquent, les fichiers de bytecode, tels que les fichiers .CLASS Java, sont le plus souvent générés à partir du code source à l'aide d'un compilateur comme javac.
Bytecode et langage assembleur
Le bytecode ressemble au langage assembleur en ce sens qu'il ne s'agit pas d'un langage de haut niveau, mais il reste relativement lisible, contrairement au langage machine. Les deux peuvent être considérés comme des « langages intermédiaires » situés entre le code source et le code machine. La principale différence entre les deux est que le bytecode est généré pour une machine virtuelle (logiciel), tandis que le langage assembleur est créé pour un CPU (matériel).
Testez vos connaissances