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.ThreadLocalPoolpublic 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.