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 環境変数設定を上書きします。ディレクトリはセミコロンで分割します。したがって、path の一般形式は次のようになります。

   .;<your_path>
たとえば、パスの指定は次のとおりです。
   .;C:\usrs\dac\classes;C:\tools\java\classes
-h
C 言語ヘッダファイルに置くことができるコードを生成します。

-verbose
メソッドのスタックサイズおよび localsargs の数をプリントします。

-verify
verifier を実行します。

-version
javap バージョン文字列を表示します。

環境変数

CLASSPATH
ユーザ定義クラスへのパスをシステムに指定します。ディレクトリはセミコロンで分割します。たとえば、次のとおりです。
   .;C:\usrs\dac\classes;C:\tools\java\classes

参照

javac, java, jdb, javah, javadoc,