引用类型的直接赋值和new后赋值在内存空间中有何变化,如String str="abc";和String str=new String();
str="abc"; 这两者在堆栈空间都是如何存储的?
引用类型在堆栈中的存储过程
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答
时间在这里停顿 2017-03-06 01:05关注String str="abc";会从String常量池中查找,如果存在“abc”,则取出使用,不存在则在常量池中创建该对象常量,然后引用。
常量池在内存中的方法区中。
String str=new String();是在堆中直接创建对象。
str="abc";将该对象的引用指向常量池的“abc”。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报