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

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

何谓字符串池?以下声明之间有什么区别:

String s = "hello";String s = new String("hello");

JVM存储这两个字符串有什么区别吗?


翻阅古今
浏览 530回答 3
3回答

慕村225694

字符串池是JVM对串实习:在计算机科学中,字符串实习是一种只存储每个不同字符串值的一个副本的方法,必须是不可变的。执行字符串使某些字符串处理任务更节省时间或空间,而在创建或执行字符串时则需要更多的时间。不同的值存储在字符串实习生池中。基本上,字符串实习生池允许运行时通过在池中保留不可变的字符串来节省内存,这样应用程序的区域就可以重用公共字符串的实例,而不是创建多个实例。作为一个有趣的附带说明,字符串实习是飞重设计模式:飞重是一种软件设计模式。飞重是一种通过与其他类似对象共享尽可能多的数据来最小化内存使用的对象;当简单的重复表示将使用不可接受的内存量时,它是大量使用对象的一种方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java