java字符串池是存储在Java堆内存中的字符串池。String是java中的特殊类,可以使用new运算符创建String对象,也可以用双引号提供值。
字符串池有助于为Java Runtime节省大量空间,尽管创建String需要更多时间。
当使用双引号创建一个String时,它首先在String池中查找具有相同值的String,如果存在那么只是返回引用,否则它在池中创建一个新String,然后返回引用。
但是,使用new运算符,那么将强制String类在堆空间中创建一个新的String对象。可以使用intern()方法将它放入池中,或者从具有相同值的字符串池中引用另一个String对象。