String s = new String("a");
这句话创建了2个对象,
一个是在java栈中创建了对象 s
另一个是在常量池中创建了对象a
而内存的分配详情如下
s(绿色) 在java栈本地变量表中分配内存
new String(橙色) 在堆内存中分配空间,用于存储指向a的地址
String(红色) 在方法区里记载s对象的父类,接口等信息
a(紫色) 在方法区的常量池内存储值
http://www.cnblogs.com/iyangyuan/p/4631696.html
S3 == S9 false