JAVA基础
1,String,StringBuffer,StringBuilder有什么区别
| String | StringBuffer | StringBuilder | 
|---|---|---|
| 不可变因为value是final,修改值他就会创建一个新的对象,旧的回收 | 可变的其父类(AbstractStringBuilder) value的数组不是final,当修值直接修改,不会创建新的对象 | 可变的其父类(AbstractStringBuilder)value的数组不是final,当修改值直接修改,不会创建新的对象 | 
| 线程是安全,因为final修饰 | 线程安全因为大部分主要方法,例如append(),insert(),delete(),replace()等方法都是synchronized;但是因为加了锁会导致变慢 | 线程不安全单线程建议使用,因为没加锁,速度快 |