Javaバイトコード
Java仮想マシン(の計算モデル)は、いわゆるスタックマシンである。例として、次のようなx86のコードを考える:
2つの値を加算して別の場所にその結果をコピーする。類似のJavaバイトコードは以下のようになる:
ここで、加算される2つの値はスタックに積まれ、加算命令によりスタックから値が回収され、加算され、そして結果がスタックに戻される。それからストア命令がスタックのトップの値を変数の場所へ移動する。命令の前にある数は、メソッドの最初から各命令のオフセットを単に表しているだけである。このスタック指向モデルは、この言語のオブジェクト指向の側面にも及ぶ。例えば、"getName()" というメソッドの呼出しは以下のようになる: