关于String常量的编译器优化

先贴源代码如下所示:使用Eclipse编译器,JDK1.6

public class TestString {
	public static void main(String[] args) {
		String s = "a"+"b"+"c"+"d";
		System.out.println(s);
	}
}

再来看看,使用jd-gui,也就是Java Decompiler查看的反编译后的class文件代码。


public class TestString
{
  public static void main(String[] args)
  {
    String s = "abcd";
    System.out.println(s);
  }
}


也就是说,对于字符串常量来说,在编译期(转换为class文件之时)就会存在优化。

那么,问一个问题,在上述例子之中,创建了几个对象?


原文地址:https://www.cnblogs.com/lanzhi/p/6467125.html