String s = "abc"; s指向常量池里的一个地址,该地址所在空间里面存储了“abc“;
String s1 =new String(s); s1指向堆内存里面的一个地址,该地址所在空间存储了一个地址 s,地址s 指向常量池里面的一个空间,存储了内容“abc”
String s2 = new String("bcd");首先去常量池里检测是否存在常量“bcd”,若存在则进行下一步;若不存在则在常量池里创建该常量,然后进行下一步。下一步:s2指向堆内存里的一个地址,该地址所在空间存储了一个地址,这个地址指向常量池里面的常量“bcd”。 |
|