zoukankan      html  css  js  c++  java
  • Java中StringBuffer和StringBuilder的区别

    区别1线程安全:

    StringBuffer是线程安全的,StringBuilder是线程是不安全的。因为StringBuffer的所有公开方法都用synchronized 来修饰,StringBuilder没有用synchronized 来修饰。下图分别用了StringBuffer的append的方法和StringBuilder的append的方法来举例:

    StringBuffer的代码片段:
    在这里插入图片描述

    StringBuilder的代码片段:
    在这里插入图片描述

    区别2缓冲区:

            StringBuffer每次toString都会直接使用toStringCache值来构造一个字符串,而StringBuilder则每次都需要复制一次字节数组,再构造一个字符串。
    

    区别3性能:

            StringBuffer是线程安全的,所有方法都是同步的,StringBuilder是没有对方法加锁同步的,所以StringBuilder的性能要远大于StringBuffer
    

    总结:

            在使用场景为多线程时使用StringBuffer,如果是单线程则使用StringBuilder。
    
  • 相关阅读:
    网站如何做404错误页面
    阿里云虚拟主机二级域名绑定二级目录以及域名重定向的用法
    301重定向的方法
    利用JavaScript做无缝滚动
    day 10
    day 9
    day 9
    day 8
    day 8
    day 7
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13076310.html
Copyright © 2011-2022 走看看