StringBuilder 和 StringBuffer 区别
前言:可以介绍一下String类是一个不变类
注意两点:对象可变与不可变;线程是否安全
1)在执行速度方面:StringBuilder> StringBuffer
2)StringBuffer与StringBuilder,均为字符串变量,是可改变的对象,每当用它们对字符串做操作时,实际上是
在一个对象上操作的,不像String 一样创建一些对象进行操作,所以速度快。
3)StringBuilder:线程非安全的。StringBuffer:线程安全的
当在字符串缓冲去被多个线程使用是, JVM 不能保证StringBuilder 的操作是安全的,虽然速度最快,但是可
以保证StringBuffer 是可以正确操作的。
大多数情况下是在单线程下进行的操作,所以大多数情况下是建议用 StringBuilder 而不用StringBuffer
的,就是速度的原因。
总结:(使用技巧)
1)如果要操作少量的数据用 = String;
2)单线程操作字符串缓冲区下操作大量数据=StringBuilder;
3)多线程操作字符串缓冲区下操作大量数据 = StringBuffer。