Compiled from StringTest.java class StringTest extends java.lang.Object { StringTest(); public static void main(java.lang.String[]); }
Line numbers for method StringTest() line 1: 0
Local variables for method StringTest() StringTest this pc=0, length=5, slot=0
Line numbers for method void main(java.lang.String[]) line 5: 0 line 6: 3 line 7: 23
Local variables for method void main(java.lang.String[]) java.lang.String[] args pc=0, length=24, slot=0 java.lang.String result pc=3, length=20, slot=1 -l参数将显示行号和局部变量表 从上面的输出中我们可以得到方法中的变量和方法的源代码对于字节码信息的,例如对应main()方法,它的变量为输入参数args以及局部变量result,方法的源代码的第5行对应字节码的第0个偏移量,第5行对应字节码的第3个偏移量,而第7行对应字节码的第23偏移量(参看javap -c的输出前面的偏移量),第7行实际是没有语句的,但是有一个隐含的return,而偏移量23实际对应的也是return调用
4、javap -p StringTest:
Compiled from StringTest.java class StringTest extends java.lang.Object { StringTest(); public static void main(java.lang.String[]); } -p参数将额外的打印PRivate成员和方法的信息,因为这个类没有因此输出相同