StringBuffer
作用
1、进行大量的字符串拼接操作
原理
1、StringBuffer底层实际是一个byte[ ] 数组【字符串缓冲区】
2、往StringBuffer中放字符串,实际上是放到byte数组当中了
3、StringBuffer的初始化容量是16
4、append意思是追加,拼接字符串统一用append()
(1)若直接使用‘+’拼接两个字符串,那么如果多次拼接,则会占用方法区内存很大空间
(2)如果byte数组满了,会自动进行扩容
使用
1、如何在实际应用时优化StringBuffer的性能?
(1)在创建StringBuffer的时候尽可能给定一个初始化容量,最好减少底层数组的扩容次数。通过预估计,来给定一个合理的初始化容量。【提高程序的执行效率】
StringBuilder
使用
具体使用StringBuffer
区别
1、StringBuffer中的方法都有:synchronized关键字修饰,表示StringBuffer在多线程环境下运行是安全的,而StringBuilder没有synchronized关键字修饰,表示StringBuilder在多线程环境下运行是不安全的。
2、总结:StringBuffer是线程安全的,StringBuilder是非线程安全的