在高并发场景下,你会在 Java 的 StringBuffer 和 StringBuilder 之间选择哪个?为什么?
考察说明
考察对线程安全类内部实现与并发成本的掌握,以及根据场景权衡取舍的能力
回答思路
- 正确识别 StringBuffer 的方法加 synchronized 而线程安全、StringBuilder 非线程安全
- 理解 StringBuffer 锁竞争带来的性能损耗,而 StringBuilder 无锁但需自身保证线程安全
- 能结合高并发实际需求分析:若线程安全必需且竞争不高可用 StringBuffer,否则推荐无共享或自同步
- 说明只要局部变量或不同线程独享,StringBuilder 更优,反之需外部同步或选 StringBuffer
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。