FastByteArrayOutputStream内部实现由一个LinkedList<byte[]>组成,每一次扩容中分配一个数组的空间,并当该数据放入到List中。需要分配的数组长度为调用FastByteArrayOutputStream的write方法决定。而ByteArrayOutputStream内部实现为一个数组每一次扩容需要重新分配空间并将数据复制到新数组中,这就是FastByteArrayOutputStream比ByteArrayOutputStream主要区别。