经过对两篇字符串文章的研究,下面自己画了语句和内存变化图,仅供参考.
String s1=new String("abc");
//在池和堆中分别创建String对象"abc",s1指向堆
String s2="abc";
//s2指向池中的"abc"
String s3=new String("abc");
//堆中新建"abc"对象,s3指向该对象
String s4="ab"+"c";
//在池中创建"ab"和"c",s4指向"abc"(因为已有"abc")所以直接指过来如果没有,还需创建
String c="c";
//在堆中创建新对象"abc",并指向该对象
