T
- the type of the pooled objectpublic abstract class Recycler<T>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Recycler.DefaultHandle |
static interface |
Recycler.Handle |
(package private) static class |
Recycler.Stack<T> |
private static class |
Recycler.WeakOrderQueue |
Modifier and Type | Field and Description |
---|---|
private static int |
DEFAULT_INITIAL_MAX_CAPACITY |
private static int |
DEFAULT_MAX_CAPACITY |
private static FastThreadLocal<java.util.Map<Recycler.Stack<?>,Recycler.WeakOrderQueue>> |
DELAYED_RECYCLED |
private static java.util.concurrent.atomic.AtomicInteger |
ID_GENERATOR |
private static int |
INITIAL_CAPACITY |
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 |
maxCapacity |
private int |
maxDelayedQueuesPerThread |
private int |
maxSharedCapacityFactor |
private static Recycler.Handle |
NOOP_HANDLE |
private static int |
OWN_THREAD_ID |
private static int |
RATIO |
private int |
ratioMask |
private FastThreadLocal<Recycler.Stack<T>> |
threadLocal |
Modifier | Constructor and Description |
---|---|
protected |
Recycler() |
protected |
Recycler(int maxCapacity) |
protected |
Recycler(int maxCapacity,
int maxSharedCapacityFactor) |
protected |
Recycler(int maxCapacity,
int maxSharedCapacityFactor,
int ratio,
int maxDelayedQueuesPerThread) |
Modifier and Type | Method and Description |
---|---|
T |
get() |
protected abstract T |
newObject(Recycler.Handle handle) |
boolean |
recycle(T o,
Recycler.Handle handle) |
(package private) int |
threadLocalCapacity() |
(package private) int |
threadLocalSize() |
private static final InternalLogger logger
private static final Recycler.Handle NOOP_HANDLE
private static final java.util.concurrent.atomic.AtomicInteger ID_GENERATOR
private static final int OWN_THREAD_ID
private static final int DEFAULT_INITIAL_MAX_CAPACITY
private static final int DEFAULT_MAX_CAPACITY
private static final int INITIAL_CAPACITY
private static final int MAX_SHARED_CAPACITY_FACTOR
private static final int MAX_DELAYED_QUEUES_PER_THREAD
private static final int LINK_CAPACITY
private static final int RATIO
private final int maxCapacity
private final int maxSharedCapacityFactor
private final int ratioMask
private final int maxDelayedQueuesPerThread
private final FastThreadLocal<Recycler.Stack<T>> threadLocal
private static final FastThreadLocal<java.util.Map<Recycler.Stack<?>,Recycler.WeakOrderQueue>> DELAYED_RECYCLED
protected Recycler()
protected Recycler(int maxCapacity)
protected Recycler(int maxCapacity, int maxSharedCapacityFactor)
protected Recycler(int maxCapacity, int maxSharedCapacityFactor, int ratio, int maxDelayedQueuesPerThread)
public final T get()
public final boolean recycle(T o, Recycler.Handle handle)
protected abstract T newObject(Recycler.Handle handle)
final int threadLocalCapacity()
final int threadLocalSize()