apache commons-pool 对象池学习札记一 代码结构

apache commons-pool 对象池学习笔记一 代码结构


pool项目

到底什么是 pool, 简单来说, 就是先建立一些存在的 object, 放在 pool 之中, 当你有需要的时候,

可以从 pool 中直接获取, 不需要重新建立.. 最常听到的就是 database connection pooling,

因为建立数据库连结是一件耗时的工作, 如果我们先把连结建立好, 就可以节省这一些时间。database

connection pooling 即dbcp。

common-pool主要分为org.apache.commons.pool包 和 org.apache.commons.pool.imp包。

一、org.apache.commons.pool包提供对象池化API

org.apache.commons.pool包

接口

KeyedObjectPool<K,V>            带“键”的池化接口

KeyedObjectPoolFactory<K,V>    用于创建KeyedObjectPools的工厂

KeyedPoolableObjectFactory<K,V>    为 一个由KeyedObjectPool提供服务的实例 定义生命周期的相关方法

ObjectPool<T>                    池化接口

ObjectPoolFactory<T>            用于创建ObjectPools的工厂

PoolableObjectFactory<T>    为 一个由ObjectPools提供服务的实例 定义生命周期的相关方法



BaseKeyedObjectPool<K,V>    为KeyedObjectPool提供简单实现

BaseKeyedPoolableObjectFactory<K,V> 为KeyedPoolableObjectFactory提供基本实现

BaseObjectPool<T>            为ObjectPool提供简单实现

BasePoolableObjectFactory<T>    为PoolableObjectFactory提供基本实现

PoolUtils                    这个类仅仅由一些静态类组成,这些方法用来操作或返回ObjectPool(或KeyedObjectPool)相关的接口

二、org.apache.commons.pool.imp包提供对象池化API的实现

org.apache.commons.pool.imp包



GenericKeyedObjectPool<K,V>    可配置的KeyedObjectPool的实现

GenericKeyedObjectPool.Config    该静态内部类为GenericKeyedObjectPool提供封装配置信息。只需配置Config即可。

GenericKeyedObjectPoolFactory<K,V> 创建GenericKeyedObjectPool实例的工厂.

GenericObjectPool<T>            可配置的ObjectPool的实现

GenericObjectPool.Config    该静态内部类为GenericObjectPool提供封装配置信息。只需配置Config即可。

GenericObjectPoolFactory<T>        创建GenericObjectPool实例的工厂

SoftReferenceObjectPool<T>    基于ObjectPool的软引用.可以随需要进行增加,他的回收是由垃圾回收站进行的

StackKeyedObjectPool<K,V>    简单的基于堆的KeyedObjectPool实现

StackKeyedObjectPoolFactory<K,V>   创建StackKeyedObjectPool实例的工厂

StackObjectPool<T>            简单的基于堆的ObjectPool的实现

StackObjectPoolFactory<T>    创建StackObjectPool实例的工厂

apache commons-pool 对象池学习札记一 代码结构

相关文章:

你感兴趣的文章:

标签云: