`
jelly
  • 浏览: 300597 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

初步研究Apache common pool

阅读更多

因为公司自己做的数据库连接池比较差劲,让我不由很是不爽。但是心里对连接池还有点不了解。所以想找开源的数据库连接池来研究一下。首选当然是dbcp(http://jakarta.apache.org/commons/dbcp/)这个apache的开源的数据库连接池。结果发现dbcp依赖Apache common pool(http://jakarta.apache.org/commons/pool/),那好,就从Apache common pool来开刀。

ObjectPool 是一个简单的接口,定义了pool最常用的两个功能。

java 代码
  1. public interface ObjectPool {   
  2.     Object borrowObject();   
  3.     void returnObject(Object borrowed);   
  4. }   

(借)取一个对象 borrowObject, 归还一个对象 returnObject  象借书还书一样简单。

客户程序基本上就是跟这两个函数打叫道,这样保证了这个pool的易用性。

BaseObjectPool 提供了 ObjectPool 一个的抽象的基础的实现。通常情况下可以继承这个类来进行扩展一个新的ObjectPool 实现,当然这不是必须的。

KeyedObjectPool 提供一个跟 ObjectPool 类似的实现,不过他可以池化多种类型的实例,用户根据 key 来获取特定类型的对象。

java 代码
  1. public interface KeyedObjectPool {   
  2.     Object borrowObject(Object key);   
  3.     void returnObject(Object key, Object borrowed);   
  4. }   

用法示例:

java 代码
  1. Object obj = null;   
  2. Object key = "Key";   
  3.   
  4.  try {   
  5.     obj = pool.borrowObject(key);   
  6.     //...use the object...   
  7.  } catch(Exception e) {   
  8.     //...handle any exceptions...   
  9.  } finally {   
  10.     // make sure the object is returned to the pool   
  11.     if(null != obj) {   
  12.        pool.returnObject(key,obj);   
  13.     }   
  14.  }  
分享到:
评论
1 楼 阿宁sun 2015-02-10  
除了把源码上的注释复制过来,没看到啥东西。。。

相关推荐

    通过Apache common pool开源包实现对象池

    下面通过一个简单的样例来说明如何利用apache common pool来应用对象池。 假定我现在有一个任务,就是对一堆字符串进行格式化,为了加快速度,采用了多线程的方式允许,而格式化则是通过对象StringFormat来实现。 ...

    apache common pool2 实例

    Apache Commons Pool2 是一个高效的对象池库,它允许开发者创建并管理对象池,以提高程序性能,特别是对于那些创建和销毁成本较高的对象。在Java应用中,对象池化是一种常用的优化策略,它通过复用已经创建的对象来...

    Apache common pool2 对象池

    Apache Commons Pool2 是一个强大的对象池库,广泛用于Java应用程序中,以提高性能和资源管理。对象池允许程序创建一组预先配置的对象,而不是每次需要时都创建新的对象,从而节省了初始化新对象的时间和系统资源。...

    CommonPool2Demo

    Apache Commons Pool2是一个流行的开源库,专门用于实现对象池。本篇将详细介绍Commons Pool2的基本概念、核心组件以及如何通过`CommonPoolDemo22`这个示例代码来理解和应用它。 Apache Commons Pool2提供了可扩展...

    Apache commons-pool2-2.4.2源码学习笔记

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

    common-pool2

    `common-pool2`是Apache Commons Pool的第二个主要版本,它提供了对对象池的实现,允许开发者高效地管理和重用对象,避免频繁创建和销毁对象带来的开销。这个库不仅适用于Jedis,还可以应用于任何需要池化对象的场景...

    commons-pool2-2.5.0-API文档-中英对照版.zip

    对应Maven信息:groupId:org.apache.commons,artifactId:commons-pool2,version:2.5.0 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构...

    redis3.2+jedis2.8.jar+common-pool2.jar+common-pool2-source.rar

    Common-Pool2.jar是Apache Commons Pool库的第二个主要版本,这是一个对象池设计模式的实现,用于提高对象的重用性,减少创建和销毁对象的开销。在Jedis中,它被用于管理Redis连接,通过复用已建立的连接,避免频繁...

    最新连接redis数据库连接池commons-pool-2.5.0

    需要使用Redis连接池的话,还需commons-pool包,提供了强大的功能,包含最新的jar包

    commons-pool2-2.0-API文档-中文版.zip

    标签:apache、commons、pool2、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    jedis 和 common-pool

    标题中的“jedis”和“common-pool”指的是在Java开发中常用的两个库,它们分别是Jedis和Apache Commons Pool。Jedis是专为处理Redis数据存储服务而设计的一个Java客户端,而Apache Commons Pool则是一个通用的对象...

    Jedis-Common-Pool

    标题中的“Jedis-Common-Pool”指的是Jedis,一个流行的Java客户端库,用于与Redis内存数据存储系统交互,以及Apache Commons Pool 2,这是一个对象池实现,Jedis使用它来管理Redis连接的生命周期,提高性能和资源...

    commons-pool2-sr:Apache Commons Pool原始代码剖析笔记

    Apache Commons Pool2是一个Java对象池库,用于管理可重用对象。对象池是软件设计中的一个概念,通过池化资源,可以有效地减少创建和销毁对象的开销,提高系统的性能和效率。Apache Commons Pool2是Apache Commons...

    apache-common jar包

    包含commons-beanutils-1.9.3-bin commons-collections4-4.1-bin commons-dbcp-1.4-bin commons-lang-2.6-bin commons-lang3-3.6-bin commons-pool-1.6-bin commons-pool2-2.4.3-bin

    commons-pool2-2.11.1-bin.zip

    DBCP(DataBase Connection Pool)是 apache common上的一个 java 连接池项目,也是 tomcat 使用的连接池组件,依赖 于Jakarta commons-pool 对象池机制,DBCP可以直接的在应用程序中使用。 使用DBCP会用到commons-...

    apache common系列包的作用以及帮助文档

    `Apache common包的作用.docx` 文件很可能包含了对上述各个组件的详细介绍和使用案例。而 `API.rar` 文件则可能是Apache Commons 的API文档,解压后可以查看详细的类和方法说明,这对于理解和使用Apache Commons ...

    commons-pool1.5.2 jar包+源码

    Apache Commons Pool 是一个Java对象池库,用于管理可重用对象。这个库提供了一种机制,使得应用程序可以高效地重复使用已经创建的对象,避免了频繁创建和销毁对象带来的性能开销。1.5.2是该库的一个版本,它包含了...

    jedis2.9-common-pool

    《Jedis 2.9与Common Pool:Redis客户端与连接池详解》 Redis,作为一款高性能的Key-Value存储系统,被广泛应用于缓存、消息队列等多种场景。在Java开发中,Jedis是一个非常流行的Redis客户端库,而Jedis 2.9版本则...

    thriftpool:Thrift RPC连接池,java实现,基于apache commons pool

    标题中的“thriftpool”是一个专门为Thrift RPC(Remote Procedure Call)服务设计的连接池实现,它基于Apache Commons Pool库。Apache Thrift是一种软件框架,用于构建跨语言的服务,它允许不同编程语言之间高效地...

Global site tag (gtag.js) - Google Analytics