首页 > 代码库 > 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占用的空间也就居中。