黑马程序员技术交流社区

标题: 菜鸟提问! [打印本页]

作者: 357955778    时间: 2015-7-2 19:06
标题: 菜鸟提问!
String s ="abc";这个"abc"的地址是在方法区的常量池中;
String s = new String("aaa");这个"aaa"的地址是在方法区的常量池还是在堆内存中?
作者: 燃烧的灵魂    时间: 2015-7-2 19:12
前面在常量池,后面在堆内存中,只要出现new就会在堆里面创建内存空间。
作者: wengjialiang    时间: 2015-7-2 19:24
应该在堆内存中,因为你已经new String(),所以相当于建立了一个实例对象,而对象包含“aaa”这个属性……
作者: 15832217533    时间: 2015-7-2 19:43
在队内存中  只要new出来   队内存就会给他分配一块内存空间
作者: home7192    时间: 2015-7-2 20:08
前面是变量 在方法表,运行进入栈。后面用new 创建就是在堆里,是个实体。
作者: 胡家兵    时间: 2015-7-2 20:17
应该在堆内存中new然后队内存就会给它分配一块内存空间
作者: 等你的季节-夏天    时间: 2015-7-2 20:42
aaa 在常量池中,  
作者: e275919713    时间: 2015-7-2 21:11
前面是变量 在方法表,运行进入栈。后面用new 创建就是在堆里,是个实体。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2