String 只读字符串
不可变指的是任何对String类型的改变都基本上是创建一个新的String对象,然后将这个新的对象的引用传递回来,这个步骤由JVM实现。
每次对String类型的值进行修改,都会在常量池中进行查找,查看是否已经有这样的一个String了。如果有,那个就把这个String的引用返回给当前的String,没有的话,就会新建一个String对象,如果需要频繁对String进行修改,最好不要用String。
StringBuffer:
StringBuffer在多线程环境下使用,可以保证线程同步; StringBuffer 用synchronized关键字修饰(保证线程同步)
Stringbuilder
和StringBuffer 实现方法类似,均表示可变字符序列,最快,不需要考虑线程同步;
网友评论