码迷,mamicode.com
首页 > 编程语言 > 详细

理解Java(StringBuffer和StringBuilder)

时间:2015-11-21 22:20:36      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

  StringBuffer可实现同步,StringBuilder线程不安全。

  翻译自Java API英文文档

本质

StringBuffer 和 StringBuilder 均表示一个可变字符序列

这个字符序列是一个类似 String 的字符串缓冲区,但能被修改

区别

当字符串缓冲区用于单线程环境时,采用 StringBuilder

若需要同步时,则使用 StringBuffer,因为 StringBuffer 是线程安全

也就是说,StringBuilder 是 StringBuffer 在单线程环境中的替代品

谁更快些

因为 StringBuffer 是线程安全的, 要确保同步机制,则性能相对降低

因此, StringBuilder 速度更快些

线程安全和多次操作

StringBuffer是线程安全,而StringBuilder是线程不安全的

对于安全与不安全没有深入的理解情况下,易造成这样的错觉

如果对于StringBuffer的操作均是线程安全的

然而,JAVA给你的保证的线程安全,是说它的方法是执行是排它的

而不是对这个对象本身的多次调用情况下,还是安全的

详见Java集合中那些类是线程安全的

理解Java(StringBuffer和StringBuilder)

标签:

原文地址:http://www.cnblogs.com/CoolSoul/p/4984777.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!