Package com.ning.compress
Class BufferRecycler
- java.lang.Object
-
- com.ning.compress.BufferRecycler
-
public final class BufferRecycler extends Object
Simple helper class to encapsulate details of basic buffer recycling scheme, which helps a lot (as per profiling) for smaller encoding cases.- Author:
- Tatu Saloranta (tatu.saloranta@iki.fi)
-
-
Field Summary
Fields Modifier and Type Field Description protected static ThreadLocal<SoftReference<BufferRecycler>>
_recyclerRef
ThisThreadLocal
contains aSoftReference
to aBufferRecycler
used to provide a low-cost buffer recycling for buffers we need for encoding, decoding.
-
Constructor Summary
Constructors Constructor Description BufferRecycler()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
allocDecodeBuffer(int size)
byte[]
allocEncodingBuffer(int minSize)
int[]
allocEncodingHash(int suggestedSize)
byte[]
allocInputBuffer(int minSize)
byte[]
allocOutputBuffer(int minSize)
static BufferRecycler
instance()
Accessor to get thread-local recycler instancevoid
releaseDecodeBuffer(byte[] buffer)
void
releaseEncodeBuffer(byte[] buffer)
void
releaseEncodingHash(int[] buffer)
void
releaseInputBuffer(byte[] buffer)
void
releaseOutputBuffer(byte[] buffer)
-
-
-
Field Detail
-
_recyclerRef
protected static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
ThisThreadLocal
contains aSoftReference
to aBufferRecycler
used to provide a low-cost buffer recycling for buffers we need for encoding, decoding.
-
-
Method Detail
-
instance
public static BufferRecycler instance()
Accessor to get thread-local recycler instance
-
allocEncodingBuffer
public byte[] allocEncodingBuffer(int minSize)
-
releaseEncodeBuffer
public void releaseEncodeBuffer(byte[] buffer)
-
allocOutputBuffer
public byte[] allocOutputBuffer(int minSize)
-
releaseOutputBuffer
public void releaseOutputBuffer(byte[] buffer)
-
allocEncodingHash
public int[] allocEncodingHash(int suggestedSize)
-
releaseEncodingHash
public void releaseEncodingHash(int[] buffer)
-
allocInputBuffer
public byte[] allocInputBuffer(int minSize)
-
releaseInputBuffer
public void releaseInputBuffer(byte[] buffer)
-
allocDecodeBuffer
public byte[] allocDecodeBuffer(int size)
-
releaseDecodeBuffer
public void releaseDecodeBuffer(byte[] buffer)
-
-