A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 357955778 中级黑马   /  2015-7-2 19:06  /  362 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s ="abc";这个"abc"的地址是在方法区的常量池中;
String s = new String("aaa");这个"aaa"的地址是在方法区的常量池还是在堆内存中?

7 个回复

倒序浏览
前面在常量池,后面在堆内存中,只要出现new就会在堆里面创建内存空间。
回复 使用道具 举报
应该在堆内存中,因为你已经new String(),所以相当于建立了一个实例对象,而对象包含“aaa”这个属性……
回复 使用道具 举报
在队内存中  只要new出来   队内存就会给他分配一块内存空间
回复 使用道具 举报
前面是变量 在方法表,运行进入栈。后面用new 创建就是在堆里,是个实体。
回复 使用道具 举报
应该在堆内存中new然后队内存就会给它分配一块内存空间
回复 使用道具 举报
aaa 在常量池中,  
回复 使用道具 举报
前面是变量 在方法表,运行进入栈。后面用new 创建就是在堆里,是个实体。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马