Java 源代码
public class PP { public static void main(String[] args){ int j=0; j=j++;
j=++j; System.out.println(j); } }
查看Java 汇编的文件
C:\Users\Andrew\Documents>javap -c PP Compiled from "PP.java" public class PP { public PP(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: iconst_0 //将常数0放到stack的顶部 1: istore_1 //将stack顶部的内容放到变量1中 j=0; 2: iload_1 //载入变量1中的内容,放到stack顶部 现在stack顶部的内容是 0; 3: iinc 1, 1 //将局部变量增加1,现在局部变量的值为1 6: istore_1 //将stack顶部的内容放到局部变量中,注意stack顶部的数字为0;
-------------------------------------------------------------------------------------------------------
7: iinc 1, 1 //将局部变量增加1,现在局部变量的值为1 10: iload_1 //将局部变量的值 放到stack的顶部 11: istore_1 //将stack顶部的值赋值为局部变量1 12: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream; 15: iload_1 16: invokevirtual #3 // Method java/io/PrintStream.println:(I)V 19: return }
j = j++
最新推荐文章于 2022-08-29 11:48:24 发布