用法: javap <options> <classes>
其中, 可能的选项包括:
-help --help -? 输出此用法消息
-version 版本信息
-v -verbose 输出附加信息
-l 输出行号和本地变量表
-public 仅显示公共类和成员
-protected 显示受保护的/公共类和成员
-package 显示程序包/受保护的/公共类
和成员 (默认)
-p -private 显示所有类和成员
-c 对代码进行反汇编
-s 输出内部类型签名
-sysinfo 显示正在处理的类的
系统信息 (路径, 大小, 日期, MD5 散列)
-constants 显示最终常量
-classpath <path> 指定查找用户类文件的位置
-cp <path> 指定查找用户类文件的位置
-bootclasspath <path> 覆盖引导类文件的位置
public class TestMain { public static void main(String[] args){ short a = 4; int b = 5; a+=b; System.out.println(a); } }
javac TestMain.java
javap -c -l TestMain
www:faj faunjoe$ javap -c -l TestMain 警告: 二进制文件TestMain包含com.faj.TestMain Compiled from "TestMain.java" public class com.faj.TestMain { public com.faj.TestMain(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return LineNumberTable: line 7: 0 public static void main(java.lang.String[]); Code: 0: iconst_4 1: istore_1 2: iconst_5 3: istore_2 4: iload_1 5: iload_2 6: iadd 7: i2s 8: istore_1 9: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 12: iload_1 13: invokevirtual #3 // Method java/io/PrintStream.println:(I)V 16: return LineNumberTable: line 9: 0 line 10: 2 line 11: 4 line 14: 9 line 15: 16 }