String s1 = new String("abc");
String s2 = "abc";
如果字符串常量池中没有abc,就会在堆中创建一个对象,
同时在字符串常量池中也会创建一个abc,
然后用堆中的对象来引用字符常量池中的对象。
(其实就是创建了两个对象)
String s2 = "abc";
String s1 = new String("abc");
如果字符串常量池中有abc,
就只会在堆中创建一个对象,
然后用堆中的对象来引用已经存在的字符常量池中的对象。
(只创建一个对象)