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.Object
Light-weight object pool based on a thread-local stack.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Recycler.DefaultHandle<T>
static interface
Recycler.Handle<T>
private static class
Recycler.Stack<T>
private static class
Recycler.WeakOrderQueue
-
Field Summary
Fields Modifier and Type Field Description private static int
DEFAULT_INITIAL_MAX_CAPACITY_PER_THREAD
private static int
DEFAULT_MAX_CAPACITY_PER_THREAD
private static int
DELAYED_QUEUE_RATIO
private static FastThreadLocal<java.util.Map<Recycler.Stack<?>,Recycler.WeakOrderQueue>>
DELAYED_RECYCLED
private int
delayedQueueInterval
private static java.util.concurrent.atomic.AtomicInteger
ID_GENERATOR
private static int
INITIAL_CAPACITY
private int
interval
private static int
LINK_CAPACITY
private static InternalLogger
logger
private static int
MAX_DELAYED_QUEUES_PER_THREAD
private static int
MAX_SHARED_CAPACITY_FACTOR
private int
maxCapacityPerThread
private int
maxDelayedQueuesPerThread
private int
maxSharedCapacityFactor
private static Recycler.Handle
NOOP_HANDLE
private static int
OWN_THREAD_ID
private static int
RATIO
private FastThreadLocal<Recycler.Stack<T>>
threadLocal
-
Constructor Summary
Constructors Modifier Constructor Description protected
Recycler()
protected
Recycler(int maxCapacityPerThread)
protected
Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor)
protected
Recycler(int maxCapacityPerThread, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)
protected
Recycler(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 T
get()
protected abstract T
newObject(Recycler.Handle<T> handle)
boolean
recycle(T o, Recycler.Handle<T> handle)
Deprecated.(package private) int
threadLocalCapacity()
(package private) int
threadLocalSize()
-
-
-
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)
-
-