以下讨论以jdk8为标准:
-  String Pool:字符串常量池 - 存储字面量
- 位于堆中,不在元空间
- intern()方法会去常量池找,没有的话就创建一个,返回常量池中的地址;有的话就直接返回对象地址
 
-  new String(“”)方法强制创建一个新的String对象,并且不会调用inter(),也就是说即使常量池里面没有,也不会添加进去。 
-  对下面代码逐行解释 (里面world和hello的垃圾回收暂时不考虑) String str = new String("hello") + new String("world"); str.intern(); String str1 = "helloworld"; System.out.println(str==str1); // true-  String str = new String("hello") + new String("world");
 
-  

 2. java str.intern(); 
 
 3. java String str1 = "helloworld"; 
 
 4.
 String str = new String("hello") + new String("world");
      
      String str1 = "helloworld";
      str.intern();
      System.out.println(str==str1);		//	false
只解释为什么是false,因为没有对str = str.intern()进行赋值
 
String str = new String("hello") + new String("world");
String str1 = "helloworld";
str = str.intern();
System.out.println(str==str1);		//	true



















