public final class JsonRecyclerPools extends Object
RecyclerPool
implementations to be used by the default
JSON-backed JsonFactory
for recycling BufferRecycler
containers.Modifier and Type | Class and Description |
---|---|
static class |
JsonRecyclerPools.BoundedPool
RecyclerPool implementation that uses
a bounded queue (ArrayBlockingQueue for recycling instances. |
static class |
JsonRecyclerPools.ConcurrentDequePool
RecyclerPool implementation that uses
ConcurrentLinkedDeque for recycling instances. |
static class |
JsonRecyclerPools.LockFreePool
RecyclerPool implementation that uses
a lock free linked list for recycling instances. |
static class |
JsonRecyclerPools.NonRecyclingPool
Dummy
RecyclerPool implementation that does not recycle
anything but simply creates new instances when asked to acquire items. |
static class |
JsonRecyclerPools.ThreadLocalPool
ThreadLocal -based RecyclerPool implementation used for
recycling BufferRecycler instances:
see RecyclerPool.ThreadLocalPoolBase for full explanation
of functioning. |
Constructor and Description |
---|
JsonRecyclerPools() |
Modifier and Type | Method and Description |
---|---|
static RecyclerPool<BufferRecycler> |
defaultPool()
Method to call to get the default recycler pool instance:
as of Jackson 2.17.x and earlier (except for 2.17.0) this is same as calling
threadLocalPool() -- 2.17.0 temporarily had this call
newLockFreePool() (but reverted due to problems reported). |
static RecyclerPool<BufferRecycler> |
newBoundedPool(int size)
Accessor for constructing a new, non-shared
JsonRecyclerPools.BoundedPool instance. |
static RecyclerPool<BufferRecycler> |
newConcurrentDequePool()
Accessor for constructing a new, non-shared
JsonRecyclerPools.ConcurrentDequePool instance. |
static RecyclerPool<BufferRecycler> |
newLockFreePool()
Accessor for constructing a new, non-shared
JsonRecyclerPools.LockFreePool instance. |
static RecyclerPool<BufferRecycler> |
nonRecyclingPool()
Accessor for getting the shared/global
JsonRecyclerPools.NonRecyclingPool instance
(due to design only one instance ever needed) |
static RecyclerPool<BufferRecycler> |
sharedBoundedPool()
Accessor for getting the shared/global
JsonRecyclerPools.BoundedPool instance. |
static RecyclerPool<BufferRecycler> |
sharedConcurrentDequePool()
Accessor for getting the shared/global
JsonRecyclerPools.ConcurrentDequePool instance. |
static RecyclerPool<BufferRecycler> |
sharedLockFreePool()
Accessor for getting the shared/global
JsonRecyclerPools.LockFreePool instance. |
static RecyclerPool<BufferRecycler> |
threadLocalPool()
Accessor for getting the shared/global
JsonRecyclerPools.ThreadLocalPool instance
(due to design only one instance ever needed) |
public static RecyclerPool<BufferRecycler> defaultPool()
threadLocalPool()
-- 2.17.0 temporarily had this call
newLockFreePool()
(but reverted due to problems reported).
Will likely be changed in 2.18.0 to something else.RecyclerPool
implementation to use
if no specific implementation desired.public static RecyclerPool<BufferRecycler> threadLocalPool()
JsonRecyclerPools.ThreadLocalPool
instance
(due to design only one instance ever needed)JsonRecyclerPools.ThreadLocalPool
public static RecyclerPool<BufferRecycler> nonRecyclingPool()
JsonRecyclerPools.NonRecyclingPool
instance
(due to design only one instance ever needed)JsonRecyclerPools.NonRecyclingPool
.public static RecyclerPool<BufferRecycler> sharedConcurrentDequePool()
JsonRecyclerPools.ConcurrentDequePool
instance.JsonRecyclerPools.NonRecyclingPool
.public static RecyclerPool<BufferRecycler> newConcurrentDequePool()
JsonRecyclerPools.ConcurrentDequePool
instance.JsonRecyclerPools.NonRecyclingPool
.public static RecyclerPool<BufferRecycler> sharedLockFreePool()
JsonRecyclerPools.LockFreePool
instance.JsonRecyclerPools.LockFreePool
.public static RecyclerPool<BufferRecycler> newLockFreePool()
JsonRecyclerPools.LockFreePool
instance.JsonRecyclerPools.LockFreePool
.public static RecyclerPool<BufferRecycler> sharedBoundedPool()
JsonRecyclerPools.BoundedPool
instance.JsonRecyclerPools.BoundedPool
.public static RecyclerPool<BufferRecycler> newBoundedPool(int size)
JsonRecyclerPools.BoundedPool
instance.size
- Maximum number of values to poolJsonRecyclerPools.BoundedPool
.Copyright © 2008–2024 FasterXML. All rights reserved.