圣光忏悔 发表于 2015-3-24 13:26
s1 "abc"是储存在字符串常量池里面的地址
S2 是造了一个新对象,new String()储存在栈内存中,然后栈内存的 ...
关山明月 发表于 2015-3-24 14:27
new String() 是一个对象,不是应该储存在堆内存中吗?
关山明月 发表于 2015-3-24 14:27
new String() 是一个对象,不是应该储存在堆内存中吗?
圣光忏悔 发表于 2015-3-24 14:42
自己逗比把栈和堆弄混了....
关山明月 发表于 2015-3-24 16:10
呃,我还是没怎么明白,现在"abc"是在常量池中,new String()是在堆内存中,s2指向的是哪一个呢?new Str ...
关山明月 发表于 2015-3-24 16:10
呃,我还是没怎么明白,现在"abc"是在常量池中,new String()是在堆内存中,s2指向的是哪一个呢?new Str ...
55.png (159.02 KB, 下载次数: 19)
圣光忏悔 发表于 2015-3-24 16:26
这是老师讲课画图的截图.
剑雨飘扬 发表于 2015-3-24 16:21
s2是指向new String()啊,只不过newString()中的内容与常量池中的"abc"一样而已。 ...
圣光忏悔 发表于 2015-3-24 16:24
栈 用来运行main主方法的,有对象就造对象
但是造的对象只是一个空壳子,里面是地址值指向别处,比如
s1 栈 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |