开发者社区> 问答> 正文

java 中为什么说,String是线程安全的?为什么说StringBuilder是线程不安全的?分别举例证明。

java中,我们常说,因为string是不可变的,所以String是线程安全的。还有,StringBuilder是线程不安全的。

我不理解,也想不出好的例子来证明这俩观点。搜了好多博客,也没搜到具体的例子,望能帮忙解答。

我知道,jvm中有个字符串池,每次string改变,都会检测字符串池,如果没有,再在字符串池中创建一个string。

展开
收起
爵霸 2016-05-31 11:50:35 7800 0
1 条回答
写回答
取消 提交回答
  • 可以去看StringBuilder和StringBuffer的源码啊
    StringBuffer方法上都加了synchronized,StringBuilder没有,StringBuilder在多线程情况下是会出现问题。这位兄台说的是。但是线程安全 线程非安全 指的是你业务环境需要线程安全考虑不考虑。多并发 网络编程这块会考虑这些。

    2019-07-17 19:21:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
从《阿里巴巴Java开发手册》编写推广谈技术成长 立即下载
如何通过 Serverless 提高 Java 微服务治理效 立即下载
多IO线程优化版 立即下载