StringBuffer

底层实际上一个byte[](char[])数组,往StringBuffer(与String不兼容不能往String中添加)中放数据,是转换成byte[](char[]).初始量是16,扩容是两倍+2。
主要方法:append()

StringBuilder

底层数组的初始量容量也是16,扩容2x+2StringBuilder也能完成字符串拼接。
主要方法:append()

区别

StringBuffersynchronized关键词修饰,表示多线程环境下运行时安全的;StringBuilder是多线程不安全。在多线程中局部变量适合用StringBuilder,成员变量适合用StringBuffer。