题中s只是一个引用变量,并未创建对象,共创建了两个对象分别是:常量区的"abc"和new创建的堆区的对象。
在编译时,文字池(放在常量池中)pool中创建对象abc,而在运行时执行new String()时,将pool中的对象复制一份到heap中,并且把heap中的这个对象的引用交给s持有。
参见:http://wyz191.iteye.com/blog/139171
2.Java统计程序运行时间
http://www.cnblogs.com/kimimaro/archive/2011/04/05/2006201.html

本文详细解析了Java中使用String构造函数创建对象的过程,包括常量区对象的创建和堆区对象的生成,以及引用变量s如何持有堆区对象的实例。通过对比编译期和运行期的操作,深入理解Java对象的生命周期和引用机制。
1497

被折叠的 条评论
为什么被折叠?



