クラスファイルを逆アセンブルします。
javap [ options ] class. . .
javap コマンドは、クラスファイルを逆アセンブルします。その出力は指定するオプションにより異なります。オプションを指定しない場合、javap は渡されたクラスの public フィールドとメソッドを表示します。javap はその出力を標準出力に表示します。たとえば、次のクラス宣言をコンパイルするとします。import java.awt.*; import java.applet.*; public class DocFooter extends Applet { String date; String email; public void init() { resize(500,100); date = getParameter("LAST_UPDATED"); email = getParameter("EMAIL"); } public void paint(Graphics g) { g.drawString(date + " by ",100, 15); g.drawString(email,290,15); } }javap DocFooter の出力は次のようになります。Compiled from DocFooter.java public class DocFooter extends java.applet.Applet { java.lang.String date; java.lang.String email; public void init(); public void paint(java.awt.Graphics); public DocFooter(); }
- -help
- javap のヘルプメッセージを出力します。
- -l
- 行番号と局所変数テーブルを表示します。
- -b
- JDK 1.1 の javap との下位互換性を保証します。
- -public
- public クラスとメンバだけを表示します。
- -protected
- protected と public のクラスとメンバだけを表示します。
- -package
- package、protected および public のクラスとメンバだけを表示します。これがデフォルトです。
- -private
- すべてのクラスとメンバを表示します。
- -Jflag
- ランタイムシステムに直接 flag を渡します。使用例を次に示します。
javap -J-version javap -J-Djava.security.manager -J-Djava.security.policy=MyPolicy MyClassName
- -s
- 内部の型シグニチャーを出力します。
- -c
- クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。これらは「Java Virtual Machine Specification」にドキュメント化されています。
- -verbose
- メソッドのスタックサイズ、 および
locals
とargs
の数を出力します。
- -classpath path
- javap がクラスを探すために使用するパスを指定します。デフォルトまたは CLASSPATH 環境変数設定を上書きします。ディレクトリはセミコロンで分割します。したがって、path の一般形式は次のようになります。
.;<your_path>パスの指定の例を次に示します。.;C:¥usrs¥dac¥classes;C:¥tools¥java¥classes- -bootclasspath path
- ブートストラップクラスをロードするパスを指定します。ブートストラップクラスは、デフォルトでは jre¥lib¥rt.jar および jre¥lib¥i18n.jar にある、コア Java プラットフォームを実装するクラスです。
- -extdirs dirs
- インストールされた拡張機能を検索する位置をオーバーライドします。拡張機能は、デフォルトでは jre¥lib¥ext にあります。
- CLASSPATH
- ユーザ定義クラスへのパスをシステムに指定します。ディレクトリはセミコロンで分割します。次に例を示しますす。
.;C:¥usrs¥dac¥classes;C:¥tools¥java¥classes
javac、 java、 jdb、 javah