String和StringBuild是异步的
StringBuffer是同步的,线程安全的
String是不可变的,是final的
String a="abc";
a=a+"cde";
字符串a指向一块存储有abc的内存,拼接以后会指向另一块内存,因为String是不可变的
StringBuffer buffer=new StringBuffer("abc");
buffer.append("def");
StringBuffer始终指向一块内存,修改也是对这一块内存的修改
StringBuilder和StringBuffer类似,区别是前者线程不安全的,后者线程安全
在单线程中建议使用StringBuilder多线程中使用StringBuffer
执行速度上String<StringBuffer<StringBuilder