StringBuffer 和 StringBuilder
2013-11-14 11:09
169 查看
如果你读过《Think in Java》,而且对里面描述HashTable和HashMap区别的那部分章节比较熟悉的话,你一定也明白了原因所在。对,就是支持线程同步保证线程安全而导致性能下降的问题。HashTable是线程安全的,很多方法都是synchronized方法,而HashMap不是线程安全的,但其在单线程程序中的性能比HashTable要高。StringBuffer和StringBuilder类的区别也在于此,新引入的StringBuilder类不是线程安全的,但其在单线程中的性能比StringBuffer高。
如果我们的程序是在单线程下运行,或者是不必考虑到线程同步问题,我们应该优先使用StringBuilder类;当然,如果要保证线程安全,自然非StringBuffer莫属了。
除了对多线程的支持不一样外,这两个类的使用几乎没有任何差别,上面的例子就是个很好的说明。appendItemsToStringBuiler和appendItemsToStirngBuffer两个方法除了采用的对象分别为StringBuilder和StringBuffer外,其他完全相同,而效果也完全相同。
如果我们的程序是在单线程下运行,或者是不必考虑到线程同步问题,我们应该优先使用StringBuilder类;当然,如果要保证线程安全,自然非StringBuffer莫属了。
除了对多线程的支持不一样外,这两个类的使用几乎没有任何差别,上面的例子就是个很好的说明。appendItemsToStringBuiler和appendItemsToStirngBuffer两个方法除了采用的对象分别为StringBuilder和StringBuffer外,其他完全相同,而效果也完全相同。
相关文章推荐
- String,StringBuffer与StringBuilder的区别??
- 黑马程序员————StringBuffer和StringBuilder
- String、StringBuffer与StringBuilder之间区别
- String,StringBuffer与StringBuilder的区别
- 【Java学习】String、StringBuffer和StringBuilder
- [Java]S 4000 tring,StringBuffer与StringBuilder的区别??
- 【Java基础之String、StringBuilder、StringBuffer】Java中的String、StringBuilder以及StringBuffer的区别
- String, StringBuffer和 StringBuilder
- 浅谈 Java 字符串(String, StringBuffer, StringBuilder)
- StringBuilder和StringBuffer的区别
- 【String,StringBuffer和StringBuilder区别】
- Java中String,StringBuilder和StringBuffer的区别
- JAVA数据结构之String、StringBuffer和StringBuilder之间的区别
- String, StringBuilder 与StringBuffer的区别与联系
- StringBuilder与StringBuffer联系与区别
- 探秘Java中的String、StringBuilder以及StringBuffer
- String,StringBuffer与StringBuilder的区别详解
- 黑马程序员——java中String、StringBuffer、StringBuilder简单见解
- String,StringBuffer与StringBuilder的区别。
- String,StringBuffer,StringBuilder以及线程安全性