2012-10-18 53 views

回答

7

如果你确实使用Java 5或更高,你一定需要线程之间共享对象(我不记得需要这样做),StringBuilder是一个更好的选择。

基本上你应该总是用StringBuilder当你可以,以避免无谓的同步。诚然,大多数虚拟机处理非争用同步的方式是非常有效的,但如果你不需要它摆在首位...

+0

+1恕我直言,如果你认为你需要线程之间共享一个StringBuffer你有严重的设计问题。 –

+0

不要以为使用StringBuilder将不一定使用堆空间? –

+0

@TheHunter:比较做什么?为什么你会期望StringBuilder使用比StringBuffer更多的堆空间? –

6

StringBuilder方法是不同步的,所以当你不使用多线程的部分而言,你可以用它选择,因为它会很快。

,另一方面StringBuffer都的方法进行同步,因此是线程安全的。

你可以通过这个帖子: - Difference between StringBuilder and StringBuffer

相关问题