Javaバイトコードの読み方 javapの補足

 Javaバイトコードの読み方 - プログラマーの脳みそではEclipseの"Class File Editor"でバイトコードを読む場合のさわりを紹介した。

 ブックマークなどの反応をみるとjavapの誤解があるように思う。

b:id:yujiorama デバッグ用途なら javap でもいいとこまでやってくれる。jad があればもっとよい。バイトコードはそれからでも遅くはないと思った。

はてなブックマーク - yujioramaのブックマーク / 2010年2月8日

やったことないけど、javapとかで逆アセンブルするのとどちらが早いんだろう。・・・用途で使い分けたりするのかな?「Javaバイトコードの読み方」 http://bit.ly/aNQMUJ

qyou on Twitter: "やったことないけど、javapとかで逆アセンブルするのとどちらが早いんだろう。・・・用途で使い分けたりするのかな?「Javaバイトコードの読み方」 http://bit.ly/aNQMUJ"

 javapというのはJDK(Javaの開発キット)をインストールすると標準でついてくる、コマンドラインで使うディスアセンブラだ。ツールの公式ドキュメントはOracle Technology Network for Java Developers | Oracle Technology Network | Oracle

 そして、さきのエントリで紹介したEclipseの"Class File Editor"*1というのはこのjavapを自動的にやってくれて、その結果を表示してくれる機能だと思えばいい。出力される情報はほとんど一緒だ。

 デバッグ用途ならjavapでも〜という意見は、IDEを用いないでJava開発をしているのであれば分からなくもない意見だが、そもそもIDEなしで開発することがいかがなものか、と思う。javapで逆アセンブルするのとどちらが早いか、という話はEclipseを用いているなら断然"Class File Editor"が早い。IDEを用いないでJava開発をしているのであれば、javapのほうが早いかもしれない。が、そもそもIDEを使ってJava開発をするほうが断然効率がいい。

*1:"Class File Viewer"という説もある