com.fasterxml.jackson.core.util
Class BufferRecycler

java.lang.Object
  extended by 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
static class BufferRecycler.ByteBufferType
           
static class BufferRecycler.CharBufferType
           
 
Field Summary
protected  byte[][] _byteBuffers
           
protected  char[][] _charBuffers
           
static int DEFAULT_WRITE_CONCAT_BUFFER_LEN
           
 
Constructor Summary
BufferRecycler()
           
 
Method Summary
 byte[] allocByteBuffer(BufferRecycler.ByteBufferType type)
           
 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)

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)


Copyright © 2012 fasterxml.com. All Rights Reserved.