疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java的三种编译方式


 

  通常Java有三种编译方式,编译方式不同,那么得到的。class的大小也不同。

  1)默认编译方式:javac A.java

  2) 调试编译方式:javac -g A.java

  3) 代码编译方式:javac -g:none A.java

  案例如下:类A

  public class A{

  public static void main(String args[]){

  for(int i=0;i<100000;i++){

  A a = new A();

  }

  }

  }

  通过上面这三种编译方式,得到的。class文件大小分别为:

  默认编译方式:322字节

  调试编译方式:453字节

  代码编译方式:238字节

  三种编译方式对应的。class文件的内容,分别如下:

  默认编译方式:代码(Code)、源文件信息(SourceFile Infomation)、代码行序列表(LineNumberTable)。

  调试编译方式:代码(Code)、源文件信息(SourceFile Infomation)、代码行序列表(LineNumberTable)、本地变量表(LocalVariableTable)。

  代码编译方式:代码(Code)。

  由于javac -g:none A.java这种方式编译的内容最少,所以。class占用的空间也就最小。

  由于javac -g A.java这种方式编译的内容最多,所以。class占用的空间也就最大。

  而javac A.java这种方式编译的内容居中,所以。class占用的空间也就居中。