为了账号安全,请及时绑定邮箱和手机立即绑定

Java字符串池是什么?“s”与新字符串(“s”)有何不同?

Java字符串池是什么?“s”与新字符串(“s”)有何不同?

翻阅古今 2019-05-31 17:17:54
Java字符串池是什么?“s”与新字符串(“s”)有何不同?何谓字符串池?以下声明之间有什么区别:String s = "hello";String s = new String("hello");JVM存储这两个字符串有什么区别吗?
查看完整描述

3 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

字符串池是JVM对串实习:

在计算机科学中,字符串实习是一种只存储每个不同字符串值的一个副本的方法,必须是不可变的。执行字符串使某些字符串处理任务更节省时间或空间,而在创建或执行字符串时则需要更多的时间。不同的值存储在字符串实习生池中。

基本上,字符串实习生池允许运行时通过在池中保留不可变的字符串来节省内存,这样应用程序的区域就可以重用公共字符串的实例,而不是创建多个实例。

作为一个有趣的附带说明,字符串实习是飞重设计模式:

飞重是一种软件设计模式。飞重是一种通过与其他类似对象共享尽可能多的数据来最小化内存使用的对象;当简单的重复表示将使用不可接受的内存量时,它是大量使用对象的一种方法。


查看完整回答
反对 回复 2019-05-31
  • 3 回答
  • 0 关注
  • 529 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信