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.
  • Field Details

    • MIN_ENCODING_BUFFER

      private static final int MIN_ENCODING_BUFFER
      See Also:
    • MIN_OUTPUT_BUFFER

      private static final int MIN_OUTPUT_BUFFER
      See Also:
    • _recyclerRef

      protected static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
      This ThreadLocal contains a SoftReference to a BufferRecycler used to provide a low-cost buffer recycling for buffers we need for encoding, decoding.
    • _inputBuffer

      private byte[] _inputBuffer
    • _outputBuffer

      private byte[] _outputBuffer
    • _decodingBuffer

      private byte[] _decodingBuffer
    • _encodingBuffer

      private byte[] _encodingBuffer
    • _encodingHash

      private int[] _encodingHash
  • Constructor Details

    • BufferRecycler

      public BufferRecycler()
  • Method Details

    • 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)