1. String , StringBuilder , StringBuffer他们都实现了字符序列接口(CharSequenc)
2. String是不可变字符串,String创建后会加入到常量池里面(String s1 = "abc")后面使用就会从常量池中调用。通过new String()创建的字符串对象是在堆上,不会自动放入常量池。(String s2 = new String("abc"))默认在堆中创建新对象----->即 s1 != s2
3. StringBuilder , StringBuffer是可变字符序列
4. StringBuilder , StringBuffer之间的区别:StringBuffer是线程安全的,StringBuilder是线程不安全的。 StringBuffer保证线程安全的原理:就是针对每一个方法都添加了一个synchronized关键字,将其声明为了 同步方法。