【发布时间】:2012-08-06 22:09:14
【问题描述】:
我正在阅读 Stackoverflow thread 关于使用 StringBuilder 与 StringBuffer 的内容。
底线似乎是这两个集合是相同的,除了 StringBuffer 是同步的,是线程安全的,并且与不是那些东西的 StringBuilder 相比,性能稍差。
有人提出 ArrayList 和 Vector 之间存在类似的关系。
除非我有意识地创建多个线程,否则不使用同步集合(或其他任何东西)是一个好的(安全)经验法则吗?
换句话说,我收到消息“尽可能使用新的 StringBuilder。”,我想知道的是,我如何确定它是可能的?
只要我不故意创建新线程,使用非同步集合是否安全?
【问题讨论】:
-
您可能打算用 StringBuilder 替换 StringBuffer。换句话说,删除不必要的同步。
标签: java collections synchronize