深入解析StringBuffer和StringBuilder的区别

 更新时间:2013年07月15日 09:40:36   作者:  
以下是对java中StringBuffer与StringBuilder的区别进行了详细的分析介绍,需要的朋友可以参考下

做项目中经常用到String和StringBuilder,String可以用“+”来对字符串进行拼接,StringBuilder用append进行拼接,一直不明白既然可以用String,问什么还要用StringBuilder。尽管在做数据库查询的时候,习惯性的用了StringBuilder对查询语句进行拼接,但仍然不知道原因。今天看视频的时候,又看到了StringBuffer,感觉用法又差不多,所以特意查了一下这些东西的区别。
归纳如下:
1.在执行速度方面的比较:StringBuilder >  StringBuffer  

2.StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。

3.StringBuilder:线程非安全的
  StringBuffer:线程安全的

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

对于三者使用的总结:
1.如果要操作少量的数据用 String
2.单线程操作字符串缓冲区 下操作大量数据  StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据  StringBuffer

相关文章

  • java web中的servlet3 upload上传文件实践

    java web中的servlet3 upload上传文件实践

    这篇文章主要介绍了servlet3 upload上传文件实践,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • Spring如何更简单的读取和存储对象

    Spring如何更简单的读取和存储对象

    这篇文章主要给大家介绍了关于Spring如何更简单的读取和存储对象的相关资料,在Spring 中想要更简单的存储和读取对象的核⼼是使⽤注解,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Java调用阿里身份证实现验证接口

    Java调用阿里身份证实现验证接口

    这篇文章主要为大家详细介绍了Java如何调用阿里身份证实现验证接口,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • 有关ServletConfig与ServletContext的访问

    有关ServletConfig与ServletContext的访问

    下面小编就为大家带来一篇有关ServletConfig与ServletContext的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 关于jpa中无法删除onetomany中many问题的解决

    关于jpa中无法删除onetomany中many问题的解决

    这篇文章主要介绍了关于jpa中无法删除onetomany中many问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java常用HASH算法总结【经典实例】

    Java常用HASH算法总结【经典实例】

    这篇文章主要介绍了Java常用HASH算法,结合实例形式总结分析了Java常用的Hash算法,包括加法hash、旋转hash、FNV算法、RS算法hash、PJW算法、ELF算法、BKDR算法、SDBM算法、DJB算法、DEK算法、AP算法等,需要的朋友可以参考下
    2017-09-09
  • 解决IDEA2020.1.2IDEA打不开的问题(最新分享)

    解决IDEA2020.1.2IDEA打不开的问题(最新分享)

    由于idea安装多了某个jar,点击出现读条后闪退情况,接下来通过本文给大家分享解决IDEA2020.1.2IDEA打不开的问题,非常不错,具有一定的参考借鉴价值,感兴趣的朋友跟随小编一起看看吧
    2020-07-07
  • Java接口RandomAccess全面了解

    Java接口RandomAccess全面了解

    下面小编就为大家带来一篇Java接口RandomAccess全面了解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Spring ApplicationListener的使用详解

    Spring ApplicationListener的使用详解

    这篇文章主要介绍了Spring ApplicationListener的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • MybatisPlus使用Wrapper实现条件查询功能

    MybatisPlus使用Wrapper实现条件查询功能

    这篇文章主要介绍了MybatisPlus使用Wrapper实现查询功能,使用它可以实现很多复杂的查询,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06

最新评论