StringBuilder与StringBuffer区分记忆

由于标题长度有限,所以其实是想讲一下 StringBuilder 与 StringBuffer 关于如何区分记忆其线程安全性。

众所周知, StringBuffer 是线程安全的,因为内部有加锁,而StringBuilder则是非线程安全的,两者的线程安全性我经常分不清。

今天,在用到 StringBuilder 的 append 方法时,才知道原来它可以这样:

StringBuilder sb = new StringBuilder();
sb.append(1).append(2);

这个其实是设计模式里面的 Builder 模式,跟类名 StringBuilder 相呼应,那么记忆它们的线程安全性就比较简单了,

StringBuilder 突出其内部实现的 Builder 模式,所以它不具备线程安全性。(这个因果逻辑有点牵强,但是只是为了帮助记忆)。

相对应地, StringBuffer 就是线程安全的了。

#笔试题目#
全部评论
😂😂😂
点赞 回复
分享
发布于 2019-08-22 16:55

相关推荐

点赞 3 评论
分享
牛客网
牛客企业服务