`
liuqi_it
  • 浏览: 1325 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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-pool2-2.4.2源码学习笔记

    Apache Commons Pool2是Java开发中的一个对象池库,主要用于提高对象的重用效率,从而提升系统性能。在本文中,我们将深入探讨这个库的核心概念、设计模式以及如何通过源码学习来理解其工作原理。 首先,Apache ...

    连接池学习笔记

    这篇“连接池学习笔记”涵盖了关于连接池的基本概念、工作原理以及常见的数据库连接池实现,旨在帮助读者深入理解这一工具。以下是对该主题的详细阐述: 一、连接池的概念 连接池是一种对象池设计模式的具体应用,...

    Java Web 实习笔记(二) jar包1

    Apache Commons Pool是Apache的一个通用对象池库,DBCP连接池依赖于它来实现对象的池化管理。它提供了基础的对象池服务,包括对象创建、销毁、借用、归还等操作。在DBCP中,它被用来管理数据库连接,确保在多线程...

    CXF webservice初学笔记

    7. **Commons Pool** (commons-pool-1.5.5.jar):Apache Commons Pool 提供了一个通用的对象池服务,可提高系统性能,避免频繁创建和销毁对象的开销。 8. **BC Provider** (bcprov-jdk15-1.45.jar):这是 Bouncy ...

    DBCP 数据库连接池JNDI连接 学习笔记

    在Java中,Apache Commons DBCP 是一个常用的开源连接池实现。 这篇“DBCP 数据库连接池JNDI连接 学习笔记”主要探讨了如何结合JNDI(Java Naming and Directory Interface)来使用DBCP进行数据库连接管理。JNDI...

    Tomcat5.5连接池配置案例

    Tomcat 5.5内置了两种连接池实现:Coyote JDBC Connection Pool(较老)和Apache Commons DBCP。这里我们主要讨论更常用、更成熟的Apache Commons DBCP。DBCP是Apache的一个开源项目,提供了数据库连接池的实现。 ...

    spring学习笔记3

    DBCP是Apache Commons Pool的一个子项目,提供了对数据库连接池的支持。在Spring中,可以使用`BasicDataSource`作为数据源,它同样是在XML配置文件中定义: ```xml &lt;bean id="dataSource" class="org.apache....

    百知教育spring笔记

    DBCP是Apache Commons Pool项目的一个子项目,主要功能是对数据库连接进行池化。下面是关于DBCP数据源的具体配置: - **`&lt;bean id="dataSource46" class="org.apache.commons.dbcp.BasicDataSource"&gt;`**:定义一个...

    java多线程_设计模式_各种技术(我的书架)

    在Java多线程的实践中,通过阅读和理解开源项目的源码,如Apache Commons Pool、Google Guava的线程池管理,可以帮助我们更好地理解和运用线程管理。同样,设计模式的源码实现,如Spring框架中的策略模式、工厂模式...

    jedis使用指南

    import org.apache.commons.pool.impl.GenericObjectPool.Config; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.Transaction; /** * @author Teaey */ ...

Global site tag (gtag.js) - Google Analytics