String a = "abc"和String a = new String("abc")比较
String a = "abc" 创建了0个或1个对象。
首先在栈中定义一个引用变量a,检查字符串常量池中是否存在"abc",存在则直接指向"abc"的地址(指向的是字符串常量池中的地址),不存在则先在常量池中创建"abc"再指向其地址。
常量池中不存在"abc"字符串:
(1)在栈中创建3个char型字符'a','b','c'
(2)在堆中new一个String对象,它的值是刚才在栈中创建的
