Interface ObjectPool<T>

Type Parameters:
T - 对象类型
All Superinterfaces:
AutoCloseable, Closeable, Serializable
All Known Implementing Classes:
PartitionObjectPool, PoolPartition

public interface ObjectPool<T> extends Closeable, Serializable
对象池接口,提供: 对于对象池中对象维护,通过PoolConfig.getMaxIdle()控制,规则如下:
Since:
Java 17+
Author:
Kimi Liu
  • Method Summary

    Modifier and Type
    Method
    Description
    借出对象,流程如下: 从池中取出对象 检查对象可用性 如果无可用对象,扩容池并创建新对象 继续取对象
    int
    获取已经借出的对象(正在使用的)对象数
    int
    获取空闲对象数,即在池中的对象数
    int
    获取持有对象总数(包括空闲对象 + 正在使用对象数)
    归还对象,流程如下: 检查对象可用性 不可用则销毁之 可用则入池

    Methods inherited from interface java.io.Closeable

    close
  • Method Details

    • borrowObject

      Poolable<T> borrowObject()
      借出对象,流程如下:
      1. 从池中取出对象
      2. 检查对象可用性
      3. 如果无可用对象,扩容池并创建新对象
      4. 继续取对象
      Returns:
      对象
    • returnObject

      ObjectPool<T> returnObject(Poolable<T> obj)
      归还对象,流程如下:
      1. 检查对象可用性
      2. 不可用则销毁之
      3. 可用则入池
      Parameters:
      obj - 对象
      Returns:
      this
    • getTotal

      int getTotal()
      获取持有对象总数(包括空闲对象 + 正在使用对象数)
      Returns:
      总数
    • getIdleCount

      int getIdleCount()
      获取空闲对象数,即在池中的对象数
      Returns:
      空闲对象数,-1表示此信息不可用
    • getActiveCount

      int getActiveCount()
      获取已经借出的对象(正在使用的)对象数
      Returns:
      正在使用的对象数,-1表示此对象不可用