当我们需要拼接字符串时,通常会使用StringBuilder,这里简单分析下StringBuilder的内部结构。
StringBuilder内部是一个char数组,当调用append方法连接字符串时,
append会先检查数组的容量,如果容量不够用,那么就会进行扩容。
在android平台,如果不指定初始容量的话,默认的初始容量是16字节。
当需要扩容时,新容量=当前容量 + 当前容量 / 2
根据上面的描述,我们在使用StringBuilder时,最好指定一个预估的容量
避免在调用append方法时,StringBuilder内部重新进行扩容,造成不必要的内存开销。

最新文章

  1. uploadify批量上传
  2. ini文件操作
  3. ArrayList 和 LinkedList 的区别
  4. .Net最佳实践3:使用性能计数器收集性能数据
  5. Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
  6. sql语句查询经纬度范围
  7. cognos 10.2.2 搭建网关做负载均衡
  8. cf C. Arithmetic Progression
  9. NYOJ -37回文字符串
  10. Java基础知识强化53:经典排序之选择排序(SelectionSort)
  11. 字符串匹配的KMP算法(转)
  12. [笔记]The Linux command line
  13. [PHP] 数据结构-链表创建-插入-删除-查找的PHP实现
  14. Vue -- vue-cli(vue脚手架) npm run build打包优化
  15. BZOJ4254 : Aerial Tramway
  16. 关于tensorflow中tensorborad No dashboards are active for the current data set.的解决办法
  17. Oracle中解析XMLType格式字段
  18. mysql 数据库远程访问设置方法
  19. zoj3261变形并查集
  20. 微软URLRewriter.dll的url重写的简单使用

热门文章

  1. Python2 和 Python3 的区别(待完善)
  2. C/S模式与B/S模式的详细介绍
  3. 给DB2增加删除字段二三事
  4. c#QQ邮件编程学习(收发邮件)
  5. 关于FPGA电源精度要求
  6. CSV 参数化
  7. mysql 优化(2)
  8. 【BZOJ】1218: [HNOI2003]激光炸弹(前缀和)
  9. 显示本月日历demo
  10. Python web框架 Tornado(三)自定义session组件