• 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是非线程安全的。(在多线程环境下使用可能出现问题)

  • 相关阅读:
    java线程
    面向切面编程
    控制反转IOC与依赖注入DI
    phpexecel 导入导出,格式
    PHPExcel设置数据格式的几种方法
    九度oj 题目1416:猴子吃坚果
    九度oj 题目1397:查找数段
    poj 1065 Wooden Sticks
    poj 3181 Dollar Dayz
    poj 1742 Coins
  • 原文地址:https://www.cnblogs.com/RosemaryJie/p/13199017.html
Copyright © 2020-2023  润新知