Package io.netty.util
Class Recycler<T>
- java.lang.Object
-
- io.netty.util.Recycler<T>
-
- Type Parameters:
T- the type of the pooled object
- Direct Known Subclasses:
AdaptivePoolingAllocator.Magazine.AdaptiveRecycler
public abstract class Recycler<T> extends java.lang.ObjectLight-weight object pool based on a thread-local stack.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classRecycler.BlockingMessageQueue<T>This is an implementation ofMessagePassingQueue, similar to what might be returned fromPlatformDependent.newMpscQueue(int), but intended to be used for debugging purpose.private static classRecycler.DefaultHandle<T>static classRecycler.EnhancedHandle<T>static interfaceRecycler.Handle<T>private static classRecycler.LocalPool<T>
-
Field Summary
Fields Modifier and Type Field Description private static booleanBATCH_FAST_TL_ONLYprivate static booleanBLOCKING_POOLprivate intchunkSizeprivate static intDEFAULT_INITIAL_MAX_CAPACITY_PER_THREADprivate static intDEFAULT_MAX_CAPACITY_PER_THREADprivate static intDEFAULT_QUEUE_CHUNK_SIZE_PER_THREADprivate intintervalprivate static InternalLoggerloggerprivate intmaxCapacityPerThreadprivate static Recycler.EnhancedHandle<?>NOOP_HANDLEprivate static intRATIOprivate FastThreadLocal<Recycler.LocalPool<T>>threadLocal
-
Constructor Summary
Constructors Modifier Constructor Description protectedRecycler()protectedRecycler(int maxCapacityPerThread)protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor)Deprecated.protectedRecycler(int maxCapacityPerThread, int ratio, int chunkSize)protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)Deprecated.protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread, int delayedQueueRatio)Deprecated.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Tget()protected abstract TnewObject(Recycler.Handle<T> handle)booleanrecycle(T o, Recycler.Handle<T> handle)Deprecated.(package private) intthreadLocalSize()
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
NOOP_HANDLE
private static final Recycler.EnhancedHandle<?> NOOP_HANDLE
-
DEFAULT_INITIAL_MAX_CAPACITY_PER_THREAD
private static final int DEFAULT_INITIAL_MAX_CAPACITY_PER_THREAD
- See Also:
- Constant Field Values
-
DEFAULT_MAX_CAPACITY_PER_THREAD
private static final int DEFAULT_MAX_CAPACITY_PER_THREAD
-
RATIO
private static final int RATIO
-
DEFAULT_QUEUE_CHUNK_SIZE_PER_THREAD
private static final int DEFAULT_QUEUE_CHUNK_SIZE_PER_THREAD
-
BLOCKING_POOL
private static final boolean BLOCKING_POOL
-
BATCH_FAST_TL_ONLY
private static final boolean BATCH_FAST_TL_ONLY
-
maxCapacityPerThread
private final int maxCapacityPerThread
-
interval
private final int interval
-
chunkSize
private final int chunkSize
-
threadLocal
private final FastThreadLocal<Recycler.LocalPool<T>> threadLocal
-
-
Constructor Detail
-
Recycler
protected Recycler()
-
Recycler
protected Recycler(int maxCapacityPerThread)
-
Recycler
@Deprecated protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor)Deprecated.
-
Recycler
@Deprecated protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)Deprecated.
-
Recycler
@Deprecated protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread, int delayedQueueRatio)Deprecated.
-
Recycler
protected Recycler(int maxCapacityPerThread, int ratio, int chunkSize)
-
-
Method Detail
-
get
public final T get()
-
recycle
@Deprecated public final boolean recycle(T o, Recycler.Handle<T> handle)
Deprecated.
-
threadLocalSize
final int threadLocalSize()
-
newObject
protected abstract T newObject(Recycler.Handle<T> handle)
- Parameters:
handle- can NOT be null.
-
-