Package io.netty.util
Class Recycler<T>
- java.lang.Object
-
- io.netty.util.Recycler<T>
-
- Type Parameters:
T- the type of the pooled object
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.DefaultHandle<T>static interfaceRecycler.Handle<T>private static classRecycler.Stack<T>private static classRecycler.WeakOrderQueue
-
Field Summary
Fields Modifier and Type Field Description private static intDEFAULT_INITIAL_MAX_CAPACITY_PER_THREADprivate static intDEFAULT_MAX_CAPACITY_PER_THREADprivate static intDELAYED_QUEUE_RATIOprivate static FastThreadLocal<java.util.Map<Recycler.Stack<?>,Recycler.WeakOrderQueue>>DELAYED_RECYCLEDprivate intdelayedQueueIntervalprivate static java.util.concurrent.atomic.AtomicIntegerID_GENERATORprivate static intINITIAL_CAPACITYprivate intintervalprivate static intLINK_CAPACITYprivate static InternalLoggerloggerprivate static intMAX_DELAYED_QUEUES_PER_THREADprivate static intMAX_SHARED_CAPACITY_FACTORprivate intmaxCapacityPerThreadprivate intmaxDelayedQueuesPerThreadprivate intmaxSharedCapacityFactorprivate static Recycler.HandleNOOP_HANDLEprivate static intOWN_THREAD_IDprivate static intRATIOprivate FastThreadLocal<Recycler.Stack<T>>threadLocal
-
Constructor Summary
Constructors Modifier Constructor Description protectedRecycler()protectedRecycler(int maxCapacityPerThread)protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor)protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)protectedRecycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread, int delayedQueueRatio)
-
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) intthreadLocalCapacity()(package private) intthreadLocalSize()
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
NOOP_HANDLE
private static final Recycler.Handle NOOP_HANDLE
-
ID_GENERATOR
private static final java.util.concurrent.atomic.AtomicInteger ID_GENERATOR
-
OWN_THREAD_ID
private static final int OWN_THREAD_ID
-
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
-
INITIAL_CAPACITY
private static final int INITIAL_CAPACITY
-
MAX_SHARED_CAPACITY_FACTOR
private static final int MAX_SHARED_CAPACITY_FACTOR
-
MAX_DELAYED_QUEUES_PER_THREAD
private static final int MAX_DELAYED_QUEUES_PER_THREAD
-
LINK_CAPACITY
private static final int LINK_CAPACITY
-
RATIO
private static final int RATIO
-
DELAYED_QUEUE_RATIO
private static final int DELAYED_QUEUE_RATIO
-
maxCapacityPerThread
private final int maxCapacityPerThread
-
maxSharedCapacityFactor
private final int maxSharedCapacityFactor
-
interval
private final int interval
-
maxDelayedQueuesPerThread
private final int maxDelayedQueuesPerThread
-
delayedQueueInterval
private final int delayedQueueInterval
-
threadLocal
private final FastThreadLocal<Recycler.Stack<T>> threadLocal
-
DELAYED_RECYCLED
private static final FastThreadLocal<java.util.Map<Recycler.Stack<?>,Recycler.WeakOrderQueue>> DELAYED_RECYCLED
-
-
Constructor Detail
-
Recycler
protected Recycler()
-
Recycler
protected Recycler(int maxCapacityPerThread)
-
Recycler
protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor)
-
Recycler
protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)
-
Recycler
protected Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread, int delayedQueueRatio)
-
-
Method Detail
-
get
public final T get()
-
recycle
@Deprecated public final boolean recycle(T o, Recycler.Handle<T> handle)
Deprecated.
-
threadLocalCapacity
final int threadLocalCapacity()
-
threadLocalSize
final int threadLocalSize()
-
newObject
protected abstract T newObject(Recycler.Handle<T> handle)
-
-