java面试-Sting,Stringbuffer,Stringbuilder

在进行看Java的面试题的时候,发现一段代码用的是String,StringBuffer分别不一样.然后自己就上网查了一下其中的差异,顺便补充一下脑容量.

1.首先String与StringBuffer不一样的是String是常量而 StringBuffer和StringBuilder是变量.并且
string st = "123" String st = st +"222"

并没有改变st的值,只是JVM又创建了一个新的对象也名为st,然后进行赋值操作,然后GC把st回收了.

2.运行速度 StringBuilder>StringBuffer>String.原因大家肯定也知道了,String要进行创建回收.
3. 线程安全 如果一个StringBuffer对象在字符串缓冲区被多个线程使用时,StringBuffer中很多方法可以带有synchronized关键字,所以可以保证线程是安全的,但StringBuilder的方法则没有该关键字,所以不能保证线程安全,有可能会出现一些错误的操作。所以如果要进行的操作是多线程的,那么就要使用StringBuffer,但是在单线程的情况下,还是建议使用速度比较快的StringBuilder。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,197评论 18 399
  • 嗯,不出意外地睡着了。红宝石光像医生的左手,很温柔很疗愈地就让我睡去了。迷迷糊糊听见它能愈合伤口,无论是身体、理性...
    陶梦轲阅读 476评论 0 0
  • 余与伯敦同庚,四十多年前曾同校任教为人师数载,其味相投,意趣相近。后虽各易其职,不共前程,但友情长绵至今不断,今赏...
    王世荣阅读 325评论 0 1
  • 当爱的人,在面对不公平的时候,发愿要散发更多的爱时。他离觉醒和幸福也不远了。 一个人意识的形成,除了他的家庭环境,...
    大白咚阅读 474评论 0 1
  • 1.#import跟#include、@class有什么区别?#import<>跟#import”"又什么区别? ...
    不会学习的睿睿阅读 2,348评论 0 3

友情链接更多精彩内容