javap - Javaクラスファイル逆アセンブラ
クラスファイルを逆アセンブルします。
形式
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();
}
オプション
- -l
- 行とローカル変数テーブルだけを表示します。
- -b
- JDK 1.1 の、javap との互換性を保証します。
- -public
- public クラスとメンバだけを表示します。
- -protected
- protected と public のクラスとメンバだけを表示します。
- -package
- package、protected、およびpublic のクラスとメンバだけを表示します。このオプションはデフォルトです。
- -private
- すべてのクラスとメンバを表示します。
- -J flag
- ランタイム システムに直接 flag を渡します。
- -s
- 内部型シグネチャを表示します。
- -c
- クラスの各メソッドのために逆アセンブルされるコード、すなわち Java バイトコードから成る命令を表示します。
- -classpath path
- javap がクラスを探すために使用するパスを指定します。デフォルト、または
CLASSPATH 環境変数の設定をオーバーライドします。ディレクトリはコロン(UNIX版)やセミコロン(Windows版)で分割します。path
の一般形式は以下のようになります:
.:<your_path>
例えば:
.:/home/avh/classes:/usr/local/java/classes
- -verbose
- メソッドのスタックサイズ、および locals と args の数を表示します。
- -version
- javap バージョンを表示します。
環境変数
- CLASSPATH
- ユーザ定義クラスへのパスをシステムに指定します。ディレクトリはコロン(UNIX版)やセミコロン(Windows版)で分割します。たとえば、
UNIXの場合
.:/home/me/classes:/usr/local/java/classes.jar
Windowsの場合
.;C:\home\me\classes;C:\java\classes.jar
|