类 SingleObjectPool<T>

java.lang.Object
cn.wjybxx.base.pool.SingleObjectPool<T>
所有已实现的接口:
ObjectPool<T>, Supplier<T>

@NotThreadSafe public class SingleObjectPool<T> extends Object implements ObjectPool<T>
只缓存单个对象对象池 相比直接使用共享对象,使用该缓存池可避免递归调用带来的bug
作者:
wjybxx date 2023/4/1
  • 构造器详细资料

    • SingleObjectPool

      public SingleObjectPool(Supplier<? extends T> factory, ResetPolicy<? super T> resetPolicy)
  • 方法详细资料

    • get

      public T get()
      从接口复制的说明: ObjectPool
      该接口更多用于适配,不建议直接使用
      指定者:
      get 在接口中 ObjectPool<T>
      指定者:
      get 在接口中 Supplier<T>
    • acquire

      public T acquire()
      从接口复制的说明: ObjectPool
      从池中租借一个对象
      指定者:
      acquire 在接口中 ObjectPool<T>
      返回:
      如果池中有可用的对象,则返回缓存的对象,否则返回一个新的对象
    • release

      public void release(T object)
      从接口复制的说明: ObjectPool
      将指定的对象放入池中 - 重置策略却决于ResetPolicy
      指定者:
      release 在接口中 ObjectPool<T>
      参数:
      object - 要回收的对象
    • releaseAll

      public void releaseAll(Collection<? extends T> objects)
      从接口复制的说明: ObjectPool
      将指定的对象放入池中 - 重置策略却决于ResetPolicy
      指定者:
      releaseAll 在接口中 ObjectPool<T>
      参数:
      objects - 要回收的对象
    • clear

      public void clear()
      从接口复制的说明: ObjectPool
      释放此池中的所有对象 (如果属于特殊资源,可不清理)
      指定者:
      clear 在接口中 ObjectPool<T>