Package org.miaixz.bus.core.lang.pool
package org.miaixz.bus.core.lang.pool
对象池封装实现
整体参考了:
- https://github.com/DanielYWoo/fast-object-pool/
- https://github.com/apache/commons-pool
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescription对象工厂接口,用于自定义对象创建、验证和销毁 来自:https://github.com/DanielYWoo/fast-object-pool/ObjectPool<T>对象池接口,提供:
ObjectPool.borrowObject()对象借出。ObjectPool.returnObject(Poolable)对象归还。 对于对象池中对象维护,通过PoolConfig.getMaxIdle()控制,规则如下: 如果借出量很多,则不断扩容,直到达到PoolConfig.getMaxSize()如果池对象闲置超出PoolConfig.getMaxIdle(),则销毁。 实际使用中,池中对象可能少于PoolConfig.getMinSize()Poolable<T>池化对象对象池配置,提供基本的配置项,包括: 最小池大小(初始大小) 最大池大小 最长等待时间 最长空闲时间