网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么实现SpringBuilder和StringBuffer源码解析

怎么实现SpringBuilder和StringBuffer源码解析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信小程序开发,十多年建站对玻璃钢坐凳等多个行业,拥有丰富的网站维护经验。

StringBuilder和StringBuffer都是继承自AbstractStringBuilder,只不过StringBuffer是线程安全的,使用synchronized关键字同步方法。

怎么实现SpringBuilder和StringBuffer源码解析

StringBuilder和StringBuffer操作的都是AbstractStringBuilder类中的char数组。

怎么实现SpringBuilder和StringBuffer源码解析

StringBuilder和StringBuffer的默认初始容量是16。

怎么实现SpringBuilder和StringBuffer源码解析

当使用append方法进行字符串拼接时,主要是对char数组的复制,同时要确保capacity的容量满足拼接的字符串大小。

怎么实现SpringBuilder和StringBuffer源码解析

ensureCapacityInternal方法会确保当前的char数组value够用,然后,会将字符串复制到char数组value中,同时count加上新增字符串的长度。

怎么实现SpringBuilder和StringBuffer源码解析

如果不够用就就重新复制一个数组。

怎么实现SpringBuilder和StringBuffer源码解析

新数组的容量,首先会将当前value容量翻倍再加2,如果还不够用就用minCapacity,返回新容量大小时,会判断有没有超过(Integer.MAX_VALUE - 8 = MAX_ARRAY_SIZE)。

最好比较一下toString方法,StringBuffer的toString会将value再复制到toStringCache一个char数组中,然后new一个字符串。

怎么实现SpringBuilder和StringBuffer源码解析

StringBuilder简单了,直接new一个字符串。

怎么实现SpringBuilder和StringBuffer源码解析

关于怎么实现SpringBuilder和StringBuffer源码解析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网站标题:怎么实现SpringBuilder和StringBuffer源码解析
网页URL:http://bjjierui.cn/article/ihgops.html

其他资讯