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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王连涛 中级黑马   /  2015-5-18 22:55  /  245 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

String s = new String("abc");这个代码中一共创建了两个对象,我们可以从内存开始分析,首先在栈内存创建一个String s ,然后一new就在堆内存创建了一个String类型的对象即new String(),而这个对象是给出字符串常量“abc”的,这个常量需要到方法区的常量池去找,找到就赋给new String(),如果找不到就创建一个然后赋给new String(),然后常量池中的“abc”就把地址值赋给堆内存中的new String(),它就指向了方法区常量池的“abc”,然后new String()把它的地址值赋给s,s就指向了堆内存中的new String(),这样在这个过程中一共创建了2个对象。

评分

参与人数 2黑马币 +26 收起 理由
电子生命体 + 20
zy18692243338 + 6 总结的到位。~~~

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马