java 中StringBuffer为什么比StringBuilder效率慢

StringBuffer与StringBuilder都是继承自同一个抽象类,基本上方法都一样,实现也几乎都是一样的,而导致StringBuffer效率低一些的原因就是StringBuffer的几乎所有方法都加了synchronized。

不论怎样,方法只要加了synchronized同步,效率就是比不加synchronized的低。。

为了确保多线程下的安全,牺牲点效率也还行。

反正区分好这两个的使用场景就是了,不管怎样,使用这两个类的append方法都比String使用+号的效率高,当然,前提是忽略创建对象的开销。少量添加操作时用String和+,大量添加操作时用StringBuilder和StringBuffer。

你可能感兴趣的:(java)