gwawaw的gravatar头像
gwawaw 2016-05-14 08:38:58

java字符串类StringBuilder和StringBuffer为什么常用StringBuilder?

mvc 架构中,操作字符串通常用StringBuilder,怎么不用StringBuffer

所有回答列表(5)
yjx4510013的gravatar头像
yjx4510013  LV9 2016年5月15日

StringBuilder与 StringBuffer

    StringBuilder:线程非安全的

    StringBuffer:线程安全的

    当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。

 

           对于三者使用的总结: 1.如果要操作少量的数据用 = String

                        2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

                        3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

评论(0) 最佳答案
likunqin的gravatar头像
likunqin  LV2 2016年5月15日

StringBuffer线程安全,StringBuilder非线程安全!效率问题!

小夕酱的gravatar头像
小夕酱  LV13 2016年5月15日

谁说常用 StringBuilder的,楼主见的少,我经常会用到StringBuffer呀,你说的我几乎不用嘿嘿,区别的话楼上哥们说的很清。

jp413670706的gravatar头像
jp413670706  LV3 2016年5月16日

StringBuffer线程安全,StringBuilder非线程安全!

一般在不涉及到并发处理时, 使用StringBuilder不加同步锁,执行效率会快一些

在并发处理的情况下,一般使用StringBuffer加同步锁,保证数据一致性

648840439的gravatar头像
648840439  LV2 2016年5月19日
StringBuffer就是为了补String的这个问题,它可以使用append,这样初始化后就不会生成新的对象了,但是她是线程不安全的
StringBuilder是线程安全的,所以它的速度要比StringBuffer慢点,其他的他们一样
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友