java中string stringbuffer stringbuilder的本质区别

String与 StringBuffer与 StringBuilder的区别

三者在执行速度方面的比较:StringBuffer > String

首先是string是字符串常量,所谓的字符串常量就是说不可变得量,但是我们下面的代码确实是实现了字符串的拼接输出的str2确实改变了,但是每一次使用string其实就是在堆内存中(缓冲区)开辟一块新的内存空间,而以前的开辟的内存空间就会被留下来等待GC回收(但是GC不能及时回收)

eg:String str = "hello";
    String str+="word"

而StringBuffer是可变的所谓的可变指的是他可以通过他的append()方法直接进行内容的增加,依然使用的是以前的地址。
对于三者使用的总结: 1.如果要操作少量的数据用 = String
           2: 在不考虑线程安全的问题上使用stringbuilder
           3:在考虑线程安全的问题上使用stringbuffer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值