1.String是线程安全的,因为String内部的存储是private final char value[],被final修饰的是不可改变的,只能赋值一次
2.StringBuffer是线程安全的,因为其内部的append()方法被synchronized修饰的,所以是线程安全的
3.StringBuilder不是线程安全的,因为其内部的append()方法没有被synchronized修饰,所以不能保证线程安全
本文深入探讨了Java中三种字符串类型:String、StringBuffer和StringBuilder的线程安全性。String由于其不可变性天然具备线程安全;StringBuffer通过synchronized关键字确保线程安全;而StringBuilder未使用synchronized,故在多线程环境下可能引发数据不一致。
1.String是线程安全的,因为String内部的存储是private final char value[],被final修饰的是不可改变的,只能赋值一次
2.StringBuffer是线程安全的,因为其内部的append()方法被synchronized修饰的,所以是线程安全的
3.StringBuilder不是线程安全的,因为其内部的append()方法没有被synchronized修饰,所以不能保证线程安全

被折叠的 条评论
为什么被折叠?