如约而至的string、stringbuffer和stringbuilder知识相关

一、查阅资料做一下记录

二、三者在执行速度方面的排名为 : stringbuilder 》 stringbuffer 》 string 。 忧伤了,都没用过stringbuilder...

三、string是字符常量,也就是不可更改的,当你做赋值或 + 以及 += 操作的时候编译器其实已经重新开辟了一个新的对象用于储存了。也就是说已经指向了其他地方。

stringbuffer 和 stringbuild 是字符串变量,当你做赋值 + 以及 += 操作的时候是在原有的基础上进行的,指向的也是原来的地址。

四、关于string 、stringbuffer 以及stringbuilder的线程安全问题

string 是线程安全的,其中一个原因就是他的不可变。

stringbuffer 也是线程安全的,而stringbuilder则是飞线程安全的。

相关文档请参考 : https://www.cnblogs.com/xingzc/p/6277581.html  (声明:这里引用下他人文章)

五、综上考虑

如果只是操作少量的数据,可以是使用 string

单线程操作大量数据时,使用stringbuilder

多线程操作大量数据的时候使用stringbuffer

六、 当字符创操作被多个线程使用的时候,虽然说stringbuilder的速度比stringbuffer快,但是JVM并不能保证数据的安全性,而stringbuffer则可以确保其安全性。

也欢迎登录我的个人网站,里面有更多的文章及技术咨询在等你:http://www.guangmuhua.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值