1、String是什么
java.lang.String类表示字符串常亮,所谓字符串,就是一组字符组成的字符集合。它有以下几个特点:
String是不可变的对象
每次对String进行改变的时候,其实都等同于生成了一个新的String对象,然后将指针指向新的String对象(若不使用new构造,实际是从堆中的String池查找是否已经再存该字符串,若有则直接指向;若没有则先将该字符串放入String池,然后在指向)。
所以经常改变内容的字符串最好不要用String ,每次生成对象都会对系统性能产生影响(特别当堆中无引用对象多了以后,JVM的垃圾回收GC就会开始工作,性能会受影响)。
了解垃圾回收看这里:java垃圾回收机制是什么
了解String在内存中如何储存看这里: