コンピュータ

バイトコードとは

バイトコード

バイトコード(中間コード)とは

バイトコード(英:bytecode)とは、仮想マシン上で動作するために作られた実行可能な中間コードのことです。

バイトコードという名前は、命令の構成がバイト指向のためバイトコードと呼ばれていたが、仮想マシン上で動作するために作られた実行可能な中間コードであれば、バイト指向でなくともバイトコードと呼ぶことが多いです。

バイトコードのイメージ例

プログラミング言語は人間が解釈しやすいように作られているため、そのままではコンピュータは理解できません。そこで、次の図のようにプログラミング言語で記述した「ソースコード」をコンピュータが解釈できる機械語に変換してから実行します。

コンパイラのイメージ例

仮想マシンがない場合は、上記図のように「ソースコード」をコンパイラなどで機械語(オブジェクトコード)に変換して実行する流れですが、仮想マシンがある場合、次の図のように仮想マシン上で動作するバイトコード(中間コード)に変換します。

バイトコードのイメージ例

そして、仮想マシンがそのバイトコード(中間コード)を、各環境で実行可能な形式のコード(機械語)に変換して実行します。

具体的には「バイトコードインタプリタ」や「JITコンパイラ」などを使いバイトコードを機械語に変換して実行します。