笔记记录2补充。buffer以及builder的扩容机制

    buffer和builder 的构造方法的无参数及由参数,其中无参构造方法直接分配的容量为16,而有参构造分配的则是字符串长度加上16(str.length+16)。这些都是初始的容量,在传入一个大于这些初始容量大小的字符串时,会生成一个先将现有大小扩大2倍再加上2的容量大小的容量,然后再与传入的字符串进行比较,若还小于该字符串所需长度,则将字符串所需要的容量直接等于新扩容的容量。(后面的Char指针现在不太懂..)

 

 

 

扩容的逻辑就是创建一个新的 char 数组,将现有容量扩大一倍再加上2,如果还是不够大则直接等于需要的容量大小。扩容完成之后,将原数组的内容复制到新数组,最后将指针指向新的 char 数组。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值