在java中,对字符串的创建以及存取采用了缓存机制, 虚拟机内置了一个常量池的一块内存,
每当创建了一个字符串时,虚拟机先到常量池中查找是否存有该字符串, 如果有则不再创建 ,直接使用, 如果没有就创建一个,并存入常量池,
String s = new String("xyz");对于这句话, 我们知道创建一个字符串有好些方式, 其中方式之一,直接写"abc"就已经在内存中创建了一个字符串,
当你在new一个相同内容的String时,虚拟机去常量池看了看, 已经有了abc ,所以就不再创建了,直接拿来使用 |