Object Reuse
In ByteArrayOutputStream, use of reset() not only avoids frequent object (de)allocation and buffer initialization but also costly dynamic expansion of internal buffer, thus time savings greater than with array reuse
Object reuse is not always as easy as in the case of arrays
Some API classes provide reset() or similar method for object reuse