com.fasterxml.jackson.core.util

## Class BufferRecycler

- java.lang.Object
- - com.fasterxml.jackson.core.util.BufferRecycler

    public class BufferRecycler
    extends Object

This is a small utility class, whose main functionality is to allow simple reuse of raw byte/char buffers. It is usually used through `ThreadLocal` member of the owning class pointing to instance of this class through a `SoftReference`. The end result is a low-overhead GC-cleanable recycling: hopefully ideal for use by stream readers.

### Nested Class Summary

Nested Classes
`static class` `BufferRecycler.ByteBufferType`
`static class` `BufferRecycler.CharBufferType`

### Field Summary

Fields
`protected byte[][]` `_byteBuffers`
`protected char[][]` `_charBuffers`
`static int` `DEFAULT_WRITE_CONCAT_BUFFER_LEN`

### Constructor Summary

Constructors
Constructor and Description
`BufferRecycler()`

### Method Summary

Methods
`byte[]` `allocByteBuffer(BufferRecycler.ByteBufferType type)`
`byte[]` `allocByteBuffer(BufferRecycler.ByteBufferType type, int minSize)`
`char[]` `allocCharBuffer(BufferRecycler.CharBufferType type)`
`char[]` `allocCharBuffer(BufferRecycler.CharBufferType type, int minSize)`
`void` `releaseByteBuffer(BufferRecycler.ByteBufferType type, byte[] buffer)`
`void` `releaseCharBuffer(BufferRecycler.CharBufferType type, char[] buffer)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### DEFAULT_WRITE_CONCAT_BUFFER_LEN

    public static final int DEFAULT_WRITE_CONCAT_BUFFER_LEN

See Also:
  Constant Field Values

#### _byteBuffers

    protected final byte[][] _byteBuffers

#### _charBuffers

    protected final char[][] _charBuffers

### Constructor Detail

#### BufferRecycler

    public BufferRecycler()

### Method Detail

#### allocByteBuffer

    public final byte[] allocByteBuffer(BufferRecycler.ByteBufferType type)

#### allocByteBuffer

    public final byte[] allocByteBuffer(BufferRecycler.ByteBufferType type,
                         int minSize)

#### releaseByteBuffer

    public final void releaseByteBuffer(BufferRecycler.ByteBufferType type,
                         byte[] buffer)

#### allocCharBuffer

    public final char[] allocCharBuffer(BufferRecycler.CharBufferType type)

#### allocCharBuffer

    public final char[] allocCharBuffer(BufferRecycler.CharBufferType type,
                         int minSize)

#### releaseCharBuffer

    public final void releaseCharBuffer(BufferRecycler.CharBufferType type,
                         char[] buffer)