现在我们就StringBuffer线程、锁的应用、线程安全分析逐步带来介绍。可将字符串缓冲区安全地用于多个线程。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类字符串 的内容一旦创建,则不允许改变,如果一旦改变,则会创建一个新的字符串对象。StringBuffer的底层是维护了一个字符数组,存储字符的时候实际上是往该字符数组中存储 的,而字符数组的初始化容量是16, 当容量不够使用时,自动增长1倍。
暂无评论