我的JAVA源代码是:public class MyJava {
public static void main(String[] args) {
int i = 3;
System.out.println(i);
}
}
用javap -c MyJava命令处理后是:Compiled from "MyJava.java"
public class MyJava extends java.lang.Object{
public MyJava();
  Code:
   0: aload_0
   1: invokespecial #1; //Method java/lang/Object."<init>":()V
   4: returnpublic static void main(java.lang.String[]);
  Code:
   0: iconst_3
   1: istore_1
   2: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream;
   5: iload_1
   6: invokevirtual #3; //Method java/io/PrintStream.println:(I)V
   9: return}比如iconst_3,istore_1等,这些指令是什么语句?它是汇编语言吗?

解决方案 »

  1.   


    搞研究,有时候看语句没办法解决的问题就只能通过看class文件来解决。
      

  2.   

    汇编不太懂MOV BX AX,啥的 才是吧
      

  3.   

    不是汇编语言,是伪代码指令(和汇编语言相似),JVM就是解析这些指令,把它翻译成相应的二进制机器码来执行
    LZ想了解更多,可以看看些深入JVM的资料
      

  4.   

    是不是Java虚拟机的中间语言,和.NET的il文件类似?
      

  5.   

    搜索 Java 字节码  然后自己去看吧
      

  6.   

    jvm spec上详解介绍解释了java字节码指令的含义