StringBuffer和StringBuild都是字符串的操作,他们的主要区别是线程安全的区别,那么StringBuffer通过什么方式实现的线程安全呢?通过代码可以得知,Stringbuffer大部分方法上都加了synchronize加锁实现的。也因此StringBuffer执行的效率要低于StringBuilder。
附代码:
@Override
public synchronized StringBuffer append(String str) {
toStringCache = null;
super.append(str);
return this;
}