javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。
测试程序代码;
Hello.java
public class Hello
{
static void main(String args[])
{
int i=10;
int j=100;
int m=i+j;
System.out.println("m:"+m);
}
int get()
{
int a=1;
int b=2;
int c=3;
int d=4;
int e=5;
int f=6;
int n=a+b+c+d+e+f;
return n;
}
static int get2()
{
int a=1;
int b=12;
int c=39;
int d=a+b;
return d;
}
}
JAVAPTest.java
public class JAVAPTest {
public static void main(String[] args) {
}
public static String contactWithStringNoLoopNoPara() {
String s = "This is " + " my " + "first JAVAP test code.";
return s;
}
public static String contactWithStringNoLoop(int count) {
String s = "This is " + " my " + count + "th JAVAP test code.";
return s;
}
public static String contactWithStringLoop(int count) {
String s = "";
for (int i = 0; i < count; i++) {
s += i;
}
return s;
}
public static String contactWithStringBufferLoop(int count) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < count; i++) {
sb.append(i);
}
return sb.toString();
}
}
javap参数;
编译Hello.java;
反汇编Hello.class,结果如下;
编译JAVAPTest.java;
反汇编JAVAPTest.class,结果如下;
javap命令查看class文件的编译版本;
javap -s 查看java方法签名;
参考资料;
http://blog.csdn.net/hantiannan/article/details/7659904
http://blog.csdn.net/hudashi/article/details/7062668
http://hubingforever.blog.163.com/blog/static/17104057920113262528403/
http://www.cnblogs.com/chuanwei-zhang/p/3941868.html