黑马程序员技术交流社区

标题: String str=“abc”;他在内存中的创建过程怎么样的? [打印本页]

作者: 黄宝宝    时间: 2014-6-14 21:36
标题: String str=“abc”;他在内存中的创建过程怎么样的?
String str2=new String("abc");
创建过程:
1.加载字节码文件,
2.创建String对象
3。构造方法进栈。(在常量池中创建了“abc“对象),
最后,str2持有”abc"对象的引用,相当于C语言中的指针。
---------------------
String str="abc";在常量池中创建了“abc”对象,创建过程是怎么样的?

作者: 轩辕冰晨    时间: 2014-6-14 21:43
应该是先在常量池中检查是否有"abc",有就直接引用,如果没有就创建一个
作者: 黄宝宝    时间: 2014-6-14 21:54
轩辕冰晨 发表于 2014-6-14 21:43
应该是先在常量池中检查是否有"abc",有就直接引用,如果没有就创建一个

对,那假如是没有的!它的创建过程是什么样的?
作者: 轩辕冰晨    时间: 2014-6-14 22:07
黄宝宝 发表于 2014-6-14 21:54
对,那假如是没有的!它的创建过程是什么样的?

应该是在运行期的时候,使用new关键字创建的吧




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