【名师课堂】Java面向对象开发

【名师课堂】Java面向对象开发

Java核心第二部
106课时 |
23947人已学 |
(24 评论)

加入学习
加入学习

string  str= new string ("hello");

会产生堆内存垃圾空间,且没有保存到string对象池中。

如何将其保存到对象池中?

string str= new string ("hello").intern( );

 

 

字符串两种实例化的区别:

直接赋值:只开辟一块堆内存,而且内容保存在对象池中,以供下次使用。

构造方法:会开辟两块堆内存,并产生垃圾堆空间,而且不能直接保存在对象池中

[展开全文]

  1.采用直接赋值的模式进行String类对象的实例化操作,则该实例化对象(字符串内容)将自动保存在Java中的对象池中。下次创建对象是采用直接赋值的方式创建相同的字符串,则不会new新的东西,直接调用对象池中的对象。

  2.使用构造方法创建字符串,则会产生垃圾空间,实际上也会对字符串共享产生一定的问题。

  3.public String intern()方法可以实现将new出来的字符串常量放入共享池中。

[展开全文]

授课教师

阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >

本课程相关云产品