深入解析:为何StringBuilder在多线程环境下不安全?

2026-06-10 16:130阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1078个文字,预计阅读时间需要5分钟。

深入解析:为何StringBuilder在多线程环境下不安全?

面试官:引言+周五去面试又被面试的一个问题问傻了+面试官: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在多线程环境下不安全?

面试官:引言+周五去面试又被面试的一个问题问傻了+面试官:StringBuilder和StringBuffer的区别在哪里?+我:StringBuilder不是线程安全的,StringBuffer是线程安全的+面试官:那StringBuilder不安全的点在哪里?

引言

周五去面试又被面试的一个问题问哑巴了

面试官:StringBuilder和StringBuffer的区别在哪?
我:StringBuilder不是线程安全的,StringBuffer是线程安全的
面试官:那StringBuilder不安全的点在哪儿?
我:。。。(哑巴了)

在这之前我只记住了StringBuilder不是线程安全的,StringBuffer是线程安全的这个结论,至于StringBuilder为什么不安全从来没有去想过。

分析

在分析设个问题之前我们要知道StringBuilder和StringBuffer的内部实现跟String类一样,都是通过一个char数组存储字符串的,不同的是String类里面的char数组是final修饰的,是不可变的,而StringBuilder和StringBuffer的char数组是可变的。

阅读全文