java.lang.Object
cn.wjybxx.base.pool.DefaultObjectPool<T>
- 所有已实现的接口:
ObjectPool<T>,Supplier<T>
对象池的默认实现
队列 OR 栈
主要区别:栈结构会频繁使用栈顶元素,而队列结构的元素是平等的。 因此栈结构有以下特性: 1.如果复用对象存在bug,更容易发现。 2.如果池化的对象是List这类会扩容的对象,则只有栈顶部分的对象会扩容较大。- 作者:
- wjybxx date 2023/4/1
-
构造器概要
构造器构造器说明DefaultObjectPool(Supplier<? extends T> factory, ResetPolicy<? super T> resetPolicy) DefaultObjectPool(Supplier<? extends T> factory, ResetPolicy<? super T> resetPolicy, int poolSize) -
方法概要
修饰符和类型方法说明voidclear()删除此池中的所有对象 (可空实现)rent()从池中租借一个对象voidreturnAll(Collection<? extends T> objects) 将指定的对象放入池中 - 重置策略却决于ResetPolicy。void将指定的对象放入池中 - 重置策略却决于ResetPolicy。从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.wjybxx.base.pool.ObjectPool
get
-
构造器详细资料
-
DefaultObjectPool
-
DefaultObjectPool
public DefaultObjectPool(Supplier<? extends T> factory, ResetPolicy<? super T> resetPolicy, int poolSize) - 参数:
factory- 对象创建工厂resetPolicy- 重置方法poolSize- 缓存池大小;0表示不缓存对象
-
-
方法详细资料
-
rent
从接口复制的说明:ObjectPool从池中租借一个对象- 指定者:
rent在接口中ObjectPool<T>- 返回:
- 如果池中有可用的对象,则返回缓存的对象,否则返回一个新的对象
-
returnOne
从接口复制的说明:ObjectPool将指定的对象放入池中 - 重置策略却决于ResetPolicy。- 指定者:
returnOne在接口中ObjectPool<T>- 参数:
object- 要回收的对象
-
returnAll
从接口复制的说明:ObjectPool将指定的对象放入池中 - 重置策略却决于ResetPolicy。- 指定者:
returnAll在接口中ObjectPool<T>- 参数:
objects- 要回收的对象
-
clear
public void clear()从接口复制的说明:ObjectPool删除此池中的所有对象 (可空实现)- 指定者:
clear在接口中ObjectPool<T>
-