深入解析:为何StringBuilder在多线程环境下不安全?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1078个文字,预计阅读时间需要5分钟。
面试官:引言+周五去面试又被面试的一个问题问傻了+面试官:StringBuilder和StringBuffer的区别在哪里?+我:StringBuilder不是线程安全的,StringBuffer是线程安全的+面试官:那StringBuilder不安全的点在哪里?
引言
周五去面试又被面试的一个问题问哑巴了
面试官:StringBuilder和StringBuffer的区别在哪?
我:StringBuilder不是线程安全的,StringBuffer是线程安全的
面试官:那StringBuilder不安全的点在哪儿?
我:。。。(哑巴了)
在这之前我只记住了StringBuilder不是线程安全的,StringBuffer是线程安全的这个结论,至于StringBuilder为什么不安全从来没有去想过。
分析
在分析设个问题之前我们要知道StringBuilder和StringBuffer的内部实现跟String类一样,都是通过一个char数组存储字符串的,不同的是String类里面的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。
本文共计1078个文字,预计阅读时间需要5分钟。
面试官:引言+周五去面试又被面试的一个问题问傻了+面试官:StringBuilder和StringBuffer的区别在哪里?+我:StringBuilder不是线程安全的,StringBuffer是线程安全的+面试官:那StringBuilder不安全的点在哪里?
引言
周五去面试又被面试的一个问题问哑巴了
面试官:StringBuilder和StringBuffer的区别在哪?
我:StringBuilder不是线程安全的,StringBuffer是线程安全的
面试官:那StringBuilder不安全的点在哪儿?
我:。。。(哑巴了)
在这之前我只记住了StringBuilder不是线程安全的,StringBuffer是线程安全的这个结论,至于StringBuilder为什么不安全从来没有去想过。
分析
在分析设个问题之前我们要知道StringBuilder和StringBuffer的内部实现跟String类一样,都是通过一个char数组存储字符串的,不同的是String类里面的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。

