首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

string stringbuffer stringbuilder 差别

2012-09-21 
string stringbuffer stringbuilder 区别string长度不可变是指在内存中如果你定义String s1 new String(

string stringbuffer stringbuilder 区别

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 实现的。

热点排行