zoukankan      html  css  js  c++  java
  • Java--StringBuffer和StringBuilder

    1.StringBuffer和StringBuilder是什么?

      是一个字符串缓冲区

    2.工作原理

      预先在内存中申请一块空间,以容纳字符序列。如果预留的空间不够用,则进行自动扩容,以容纳更多字符序列。

    3.StringBuffer,StringBuilder和String的区别是什么?

      String是不可变的字符序列,存储在字符串常量池中。

      StringBuffer底层是一个char数组,但是该数组是可变的。并且可以自动扩容。

    4.StringBuffer和StringBuilder的默认初始容量是16(16个字符,32字节)

    5.StringBuffer和StringBuilder如何进行优化呢?

      最好在创建StringBuffer之前,预测StringBuffer的存储字符数量,然后再创建StringBuffer的时候采用指定初始化容量的方式创建StringBuffer。

      因为数组在扩容的时候,采用的机制是创建另一个更大的数组,然后把初始数组复制进去。提前指定初始容量可以减少底层数组的拷贝,提高效率

    7.当字符串频繁拼接时推荐使用StringBuffer和StringBuilder。可以使用append方法。

    8.StringBuffer和StringBuilder和有什么区别?

      StringBuffer是线程安全的。(可以在多线程的环境下使用不会出现问题)

      StringBuilder是非线程安全的。(在多线程环境下使用可能出现问题)

  • 相关阅读:
    Math app 2.0
    “口袋精灵”单元测试
    学习进度条
    本学期总结
    sprint2的总结及团队贡献分
    点餐系统Sprint1总结
    实验8
    实验7
    实验6
    实验五
  • 原文地址:https://www.cnblogs.com/RosemaryJie/p/13199017.html
Copyright © 2011-2022 走看看