**ofeqx.com 方程式科技共享平台 外文资料好找好用。大数据有序化,
专业垂直领域体系的知识共享盘平台,发表您的创作与我们共产知识。
1、StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,
2、只是StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,
而 StringBuilder 没有这个修饰,可以被认为是线程不安全的。
3、在单线程程序下,StringBuilder效率更快,因为它不需要加锁,不具备多线程安全
而StringBuffer则每次都需要判断锁,效率相对更低
StringBuffer特征:
1.底层基于 char[ ]实现,没有 final 修饰,初始容量为 16,每次扩容为原
来的 2n+2。
2.线程安全的,大多数方法有 synchronized 修饰。
3.toString()方法缓存了 char[ ]。
StringBuilder特征:
1.底层基于 char[ ]实现,且被 final 修饰。
2.java 用“+”连接字符串,实质上是 new 了一个 StringBuilder,然后通过 append
方法连接,最后 toString。