8Z(%R_Y3(MVJZSO)Z3WD6Z5.jpg (116.99 KB, 下载次数: 87)
刚找到的关于常量池的信息
肥洋洋 发表于 2014-6-7 23:59
str是一个对象,abc是对象中的一个成员变量而已怎么会相等。这就相当于你拿一个人在和一个人身上的某个器官 ...
艮昕辶 发表于 2014-6-8 09:47
"abc"是常量池中的地址
str是堆内存存中的地址 是new出来的 只是所在地址数据等于"abc"
黑马_白马 发表于 2014-6-8 09:59
您的意思是说,在堆地址内存中有常量池地址,还是常量池和堆是并列的存在呀? ...
GoodBoy123 发表于 2014-6-7 23:45
对啊,== 比较的是两个引用是否同属一个对象,可是这是两个对象,所以地址值不一样,就false ...
来自沙沙的我 发表于 2014-6-8 00:12
String str2=“abc”;这里指的是先看内存中是否有abc这个对象,如果没有则创建一个
String str2 = new Str ...
艮昕辶 发表于 2014-6-8 10:03
常量池是在栈中的我自己是这么认为的
不要说您我很菜的太客气了 说你就可以了 ...
黑马_白马 发表于 2014-6-8 10:20
常量地址池 理论上说应该存在于堆中吧?因为栈中存储的不就只是一些引用吗? ...
艮昕辶 发表于 2014-6-8 10:24
但是比如int x=1;char c='c';boolean b=false;String s="abc";
这里的1,c,false,"abc"都是常量啊 虽 ...
黑马_白马 发表于 2014-6-8 10:18
您回答的很详细。谢谢。
String str2 = new String("abc");这句话,一次性就会创建两个对象吗 ...
黑马_白马 发表于 2014-6-8 10:01
fighting
来自沙沙的我 发表于 2014-6-8 13:41
“abc”是个对象,str2指向的是new出来的另一个对象,也就是我之前说的srt1
123_yaya 发表于 2014-6-8 11:19
表示涉及堆,栈,常量池的都有点晕晕的。。。。看答案来了。
来自沙沙的我 发表于 2014-6-8 13:43
str1也在栈中。但是它指向了新建的那个对象,也就是str2指向的那个对象,这样懂了吗?你之前那样写,创建的 ...
黑马_白马 发表于 2014-6-8 10:31
额,我也晕了。回头问问度娘或者Google大神吧~~~
谁先查出来了,就先回复吧。这样可以将知识共享。呵呵~
...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |