经典面试问题引发的一些想法

来源:互联网 发布:农村知客一般用词 编辑:程序博客网 时间:2024/05/24 02:16

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