String,StringBuffer,StringBuilder的区别。

String与Stringbuffer的区别在于,string一旦定义其长度就不可变,不可对string对象进行append()等操作,而stringbuffer对象则是可变的。

StringBuider与StringBuffer的区别在于,stringbuffer是线程安全的,而stringbuilder则是非线程安全。所谓线程安全是指多线程对一个变量操作不会出现操作错误,比如线程1与线程2共享变量资源计数值tmp=1,若线程1使用了一个资源,此时资源计数应该减一,但线程1还没来得及修改资源计数,线程1的时间片就用完了,处理机被剥夺,tmp值未改变,此时线程2获得处理机,线程2使用资源,对资源计数修改。其实此时资源计数已经发生了错了,多线程操作发生了错误,这就是线程不安全。

所以当操作字符串不改变时用String,多线程用stringbuffer,单线程用stringbuilder.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值