美文网首页
java面试-Sting,Stringbuffer,String

java面试-Sting,Stringbuffer,String

作者: firststep | 来源:发表于2018-03-22 10:09 被阅读0次

    在进行看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。

    相关文章

      网友评论

          本文标题:java面试-Sting,Stringbuffer,String

          本文链接:https://www.haomeiwen.com/subject/brwoqftx.html