关于StringBuffer的append

来源:9-3 synchronized底层实现原理-2

抽象汪

2019-10-06

老师您好,既然StringBuffer的实例对象只会在append方法中共享,不可能被其他线程引用,那么为什么还要加上synchronized呢,且JVM也会自动消除这个锁,那么为何不在设计之初append就不要加上synchronized呢。

写回答

1回答

翔仔

2019-10-06

同学好,这个假设一开始就有点儿问题呢,如果你的Stringbuffer是个静态的共用的成员变量,这样很多线程都能往里面去append内容,这样不用synchronized就乱套了,线程不安全的是StringBuilder

1
1
抽象汪
非常感谢!
2019-10-07
共1条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8426 学习 · 1870 问题

查看课程