Module bus.core
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(Object)对象归还ObjectPool.free(Object)对象销毁 对于对象池中对象维护,通过PoolConfig.getMaxIdle()控制,规则如下: 如果借出量很多,则不断扩容,直到达到PoolConfig.getMaxSize()如果池对象闲置超出PoolConfig.getMaxIdle(),则销毁。Poolable<T>池化对象对象池配置,提供基本的配置项,包括: 最小池大小(初始大小) 最大池大小 最长等待时间 最长空闲时间简单可池化对象,此对象会同时持有原始对象和所在的分区