Javaメモ > Javaバイトコードの読み方

Javaバイトコードの読み方

バイトコードの確認方法

バイトコードは javap コマンドで確認できる。

例)Hoge.class の内容を確認する場合

javap -c -p -l Hoge

※ javap コマンドオプションは http://docs.oracle.com/javase/jp/8/docs/technotes/tools/windows/javap.html を参照。

バイトコードが示す命令の内容

命令行われる処理補足
ldcコンスタントプール内の定数をスタックに積む
load局所変数から値 または 参照値を取り出してスタックに積む
store値 または 参照値を局所変数に格納する
newインスタンスの生成
retサブルーチンから呼び出し元の戻り番地に制御を移す
invokevirtualインスタンスメソッドを呼び出す
invokespecialインスタンス初期化メソッド、プライベートメソッド、スーパークラスのインスタンスメソッドを呼び出す
invokestaticクラスメソッドを呼び出す
invokeinterfaceインターフェイスメソッドを呼び出す
returnスタックに値を残さずに呼び出し元の戻り番地に制御を移す戻り値がない(void)メソッドの最後に行われる
ireturn
lreturn
freturn
dreturn
areturn
スタックに値を残してサブルーチンの呼び出し元の戻り番地に制御を移す戻り値のあるメソッドの最後に行われる
putfieldメンバ変数への値の代入
getfieldメンバ変数から値の取り出し

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-07-07 (日) 05:12:34 (2864d)