相同的源码,相同的编译器版本,为什么编译出来的.class文件大小有别?如题.差别几个字节,具体把本地的什么内容编译进去了?字节码文件拿什么工具查看呢?

解决方案 »

  1.   

    查看字节码:
    javap -verbose ***(class文件名,不要后缀)
      

  2.   

    这很正常.
    例如:实现这个接口java.io.Serializable的类,如果没有写serialVersionUID,系统编译的时候就会自动生成一个serialVersionUID,这说明编译系统两次编译的结果并不一定完全一样。
      

  3.   

    对比了一下字节码的文件,不太一样。
    我发现问题了, 我用的是eclipse, JRE System Library如果用
    Execution environment:JavaSE-1.6(jdk1.6.0_20)生成的字节码文件和用
    Alternate JRE:jdk1.6.0_20生成的字节码文件是不同的,可这两个应该都是用得我自己安装的jdk版本啊,不解...