String,StringBuffer,StringBuilder的区别。
2015-03-08 16:22
225 查看
String与Stringbuffer的区别在于,string一旦定义其长度就不可变,不可对string对象进行append()等操作,而stringbuffer对象则是可变的。
StringBuider与StringBuffer的区别在于,stringbuffer是线程安全的,而stringbuilder则是非线程安全。所谓线程安全是指多线程对一个变量操作不会出现操作错误,比如线程1与线程2共享变量资源计数值tmp=1,若线程1使用了一个资源,此时资源计数应该减一,但线程1还没来得及修改资源计数,线程1的时间片就用完了,处理机被剥夺,tmp值未改变,此时线程2获得处理机,线程2使用资源,对资源计数修改。其实此时资源计数已经发生了错了,多线程操作发生了错误,这就是线程不安全。
所以当操作字符串不改变时用String,多线程用stringbuffer,单线程用stringbuilder.
StringBuider与StringBuffer的区别在于,stringbuffer是线程安全的,而stringbuilder则是非线程安全。所谓线程安全是指多线程对一个变量操作不会出现操作错误,比如线程1与线程2共享变量资源计数值tmp=1,若线程1使用了一个资源,此时资源计数应该减一,但线程1还没来得及修改资源计数,线程1的时间片就用完了,处理机被剥夺,tmp值未改变,此时线程2获得处理机,线程2使用资源,对资源计数修改。其实此时资源计数已经发生了错了,多线程操作发生了错误,这就是线程不安全。
所以当操作字符串不改变时用String,多线程用stringbuffer,单线程用stringbuilder.
相关文章推荐
- String、StringBuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder 区别
- String, StringBuffer, StringBuilder的区别?
- String、StringBuffer与StringBuilder之间区别
- String StringBuffer和StringBuilder的区别?
- String,StringBuffer,StringBuilder的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String ,StringBuffer ,StringBuilder 的主要区别
- String 和StringBuffer,StringBuilder的区别(转)
- JAVA中String与StringBuffer 、StringBuilder的区别
- String、StringBuilder和StringBuffer的区别
- String StringBuffer和StringBuilder的区别?
- stringbuilder stringbuffer 与String的区别
- Java 中的字符串类String、StringBuffer、StringBuilder的区别
- String,StringBuffer与StringBuilder的区别??
- String, StringBuffer, StringBuilder区别
- String、StringBuilder和StringBuffer的区别