Package com.fasterxml.jackson.core.util
Class RecyclerPool.LockFreePoolBase<P extends RecyclerPool.WithPool<P>>
java.lang.Object
com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase<P>
com.fasterxml.jackson.core.util.RecyclerPool.LockFreePoolBase<P>
- All Implemented Interfaces:
RecyclerPool<P>
,Serializable
- Direct Known Subclasses:
JsonRecyclerPools.LockFreePool
- Enclosing interface:
RecyclerPool<P extends RecyclerPool.WithPool<P>>
@Deprecated
public abstract static class RecyclerPool.LockFreePoolBase<P extends RecyclerPool.WithPool<P>>
extends RecyclerPool.StatefulImplBase<P>
Deprecated.
Since 2.18: use other implementations
RecyclerPool
implementation that uses
a lock free linked list for recycling instances.
Pool is unbounded: see RecyclerPool
for
details on what this means.
NOTE: serious issues found with 2.17.0 lead to deprecation of this implementation -- basically it is possible to have unbalanced acquire/release success rate lead to excessive growth of pooled instances. See jackson-core#1260 for details.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class
Deprecated.Nested classes/interfaces inherited from interface com.fasterxml.jackson.core.util.RecyclerPool
RecyclerPool.BoundedPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.ConcurrentDequePoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.LockFreePoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.NonRecyclingPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.StatefulImplBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.ThreadLocalPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.WithPool<P extends RecyclerPool.WithPool<P>>
-
Field Summary
Fields inherited from class com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase
_serialization, SERIALIZATION_NON_SHARED, SERIALIZATION_SHARED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Method for sub-classes to implement for actual acquire logic; called byRecyclerPool.acquireAndLinkPooled()
.boolean
clear()
Deprecated.Optional method that may allow dropping of all pooled Objects; mostly useful for unbounded pool implementations that may retain significant memory and that may then be cleared regularly.int
Deprecated.Diagnostic method for obtaining an estimate of number of pooled items this pool contains, available for recycling.void
releasePooled
(P pooled) Deprecated.Method that should be called when previously acquired (seeRecyclerPool.acquireAndLinkPooled()
) pooled value that is no longer needed; this lets pool to take ownership for possible reuse.Methods inherited from class com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase
_resolveToShared, createPooled
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.fasterxml.jackson.core.util.RecyclerPool
acquireAndLinkPooled
-
Constructor Details
-
LockFreePoolBase
protected LockFreePoolBase(int serialization) Deprecated.
-
-
Method Details
-
acquirePooled
Deprecated.Description copied from interface:RecyclerPool
Method for sub-classes to implement for actual acquire logic; called byRecyclerPool.acquireAndLinkPooled()
.- Returns:
- Instance acquired (pooled or just constructed)
-
releasePooled
Deprecated.Description copied from interface:RecyclerPool
Method that should be called when previously acquired (seeRecyclerPool.acquireAndLinkPooled()
) pooled value that is no longer needed; this lets pool to take ownership for possible reuse.- Parameters:
pooled
- Pooled instance to release back to pool
-
pooledCount
public int pooledCount()Deprecated.Description copied from interface:RecyclerPool
Diagnostic method for obtaining an estimate of number of pooled items this pool contains, available for recycling. Note that in addition to this information possibly not being available (denoted by return value of-1
) even when available this may be just an approximation.Default method implementation simply returns
-1
and is meant to be overridden by concrete sub-classes.- Returns:
- Number of pooled entries available from this pool, if available;
-1
if not.
-
clear
public boolean clear()Deprecated.Description copied from interface:RecyclerPool
Optional method that may allow dropping of all pooled Objects; mostly useful for unbounded pool implementations that may retain significant memory and that may then be cleared regularly.- Returns:
true
If pool supports operation and dropped all pooled Objects;false
otherwise.
-