javapコマンドを使ってみた。
Javaは *.java
から *.class
を生成するが、これはテキストエディタで閲覧できないバイナリファイルだ。
これをエディタで閲覧できる状態にするには、jdkに標準搭載されているjavapコマンドを使用しすれば良い。
例えばhogeというパッケージにあるFuga.javaがあるとする。
package hoge;
public class Fuga {
public static void main(String[] args) {
System.out.println("Hello Javap!");
}
}
これをコンパイルした結果をjavapで見たい時は、以下のようなコマンドを叩けばいい。 このときhoge.Fugaクラスはhoge/Fuga.lcassというディレクトリ構造になければならない。
javap -c hoge.Fuga > Fuga.code
Fuga.codeは以下のようになる。
Compiled from "Fuga.java"
public class hoge.Fuga {
public hoge.Fuga();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3 // String Hello Javap!
5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: return
}