StringBuffer的介绍

StringBuffer:

	可以允许修改的字符序列。new Stringbuffer()的时候,默认分配16个字符的字符缓存区。需要修改字符序列的内容或者长度,一般有append、inset方法可以修改字符序列的内容与长度

1.说明

	当字符串需要进行修改的时候,特别是字符串经常改变的情况下,就可以使用StringBuffer。原因:如果使用String 进行修改操作的话,那么堆内存中会保留大量多余的对象在内存中,可能会造成线程执行效率低,极大影响了程序的性能问题。

2.特点

	2.1.线程安全
		多个方法(append、inset)都是使用了jdk的线程同步机制关键词synchronized,所以在字符序列修改的时候,都能保存每次操作是有顺序的执行,不会出现抢先执行的情况
		
	2.2.初始化时,不可以空赋值
	
	2.3.内容、长度可变
		StringBuffer中的value数组是没有使用fianl关键词修饰的,所以value数组内的值是可以改变的。
		扩容机制:
			jdk1.6源码分析,由源码分析得出:如果字符串长度大于初始化长度(16),那么StringBuffer就会进行扩充容量==》当前容量大小加1乘以2
 /**
    * This implements the expansion semantics of ensureCapacity with no
    * siz
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值