StringBuffer与StringBuilder的append都是调用父类AbstractStringBuilder的appen方法。

而AbstractStringBuilder的append方法如下,其中有一个ensureCapacityInternal(count + len)方法。其中count+len是所需容量。
在这里插入图片描述
而ensureCapacityInternal(int minimumCapacity)方法是:如果目前数组长度小于所需长度,则调用newCapacity(minimumCapacity)计算数组所需的长度。
在这里插入图片描述
具体扩容机制是:尝试扩容为两倍加2,如果还小于所需容量,则直接将所需容量作为实际数组长度。如果大于所需容量,则可以作为实际数组长度。
在这里插入图片描述