Class RecyclerPool.ConcurrentDequePoolBase<P extends RecyclerPool.WithPool<P>>

java.lang.Object
com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase<P>
com.fasterxml.jackson.core.util.RecyclerPool.ConcurrentDequePoolBase<P>
All Implemented Interfaces:
RecyclerPool<P>, Serializable
Direct Known Subclasses:
JsonRecyclerPools.ConcurrentDequePool
Enclosing interface:
RecyclerPool<P extends RecyclerPool.WithPool<P>>

public abstract static class RecyclerPool.ConcurrentDequePoolBase<P extends RecyclerPool.WithPool<P>> extends RecyclerPool.StatefulImplBase<P>
RecyclerPool implementation that uses ConcurrentLinkedDeque for recycling instances.

Pool is unbounded: see RecyclerPool what this means.

See Also:
  • Field Details

  • Constructor Details

    • ConcurrentDequePoolBase

      protected ConcurrentDequePoolBase(int serialization)
  • Method Details

    • acquirePooled

      public P acquirePooled()
      Description copied from interface: RecyclerPool
      Method for sub-classes to implement for actual acquire logic; called by RecyclerPool.acquireAndLinkPooled().
      Returns:
      Instance acquired (pooled or just constructed)
    • releasePooled

      public void releasePooled(P pooled)
      Description copied from interface: RecyclerPool
      Method that should be called when previously acquired (see RecyclerPool.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()
      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()
      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.