`
ithinkfeed
  • 浏览: 91751 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

string stringbuffer stringbuilder 区别

    博客分类:
  • java
 
阅读更多

string长度不可变是指在内存中
如果你定义
String s1 = new String("s1");
String s2 = new String("s2");
时,你做操作
s1 = s1 + s2;
这时内存中会再开辟出一个长度为s1.size() + s2.size()的内存,再将两个字符串放进去。

StringBuffer 与 StringBuilder 中的方法和功能完全是等价的,只是
StringBuffer 中的方法大都采用了 synchronized 关键字进行修饰,因
此是线程安全的,而 StringBuilder 没有这个修饰,可以被认为是线程
不安全的。

StringBuffer 始于 JDK 1.0
StringBuilder 始于 JDK 1.5

从 JDK 1.5 开始,带有字符串变量的连接操作(+),JVM 内部采用的是
StringBuilder 来实现的,而之前这个操作是采用 StringBuffer 实现的。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics