`

common-pool

阅读更多
package com.open.sorce.common;

import org.apache.commons.pool.PoolableObjectFactory;
import org.apache.commons.pool.impl.GenericObjectPool;

/**
* http://commons.apache.org/
* @author aircoder
*
*/
public class commonpool {
public static void main(String[] args) throws Exception {
GenericObjectPool pool = new GenericObjectPool(new TestCommonpool());
    pool.setMaxActive(5);//默认是8
           
           U u = (U) pool.borrowObject();//取出u
           U u0 = (U) pool.borrowObject();//取出u
           U u1 = (U) pool.borrowObject();//取出u
           U u2 = (U) pool.borrowObject();//取出u
           pool.returnObject(u1);//把取出的u还给对象池
           U u3 = (U) pool.borrowObject();//取出u
           pool.returnObject(u2);//把取出的u还给对象池
           U u4 = (U) pool.borrowObject();//取出u
           System.out.println("================:"+TestCommonpool.i);
            pool.returnObject(u);//把取出的u还给对象池
            System.out.println(TestCommonpool.i);// i <=4
}
}

class TestCommonpool implements PoolableObjectFactory{
public static  int i =0;
@Override
public void activateObject(Object arg0) throws Exception {
System.out.println("一个对象被激活");

}

@Override
public void destroyObject(Object arg0) throws Exception {
System.out.println("一个对象被销毁");

}

@Override
public Object makeObject() throws Exception {
System.out.println("一个对象被制作");

U u = new U();
u.setId(i);
u.setName(i*10);
i++;
return u;
}
/**
* 一个对象使用完后做清理工作
*/
@Override
public void passivateObject(Object arg0) throws Exception {
System.out.println("passivateObject");

}

@Override
public boolean validateObject(Object arg0) {
System.out.println("validateObject");
return false;
}

}

class U{
int id;
int name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getName() {
return name;
}
public void setName(int name) {
this.name = name;
}
}
分享到:
评论

相关推荐

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

    Common-Pool2-source.rar则包含了Common-Pool2的源代码,开发者可以通过阅读源码来了解其内部工作原理,进行更深入的定制或优化。 在使用Redis3.2+jedis2.8.jar进行Java开发时,首先需要在项目中引入Jedis库,配置...

    common-pool2

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

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

    赠送jar包:commons-pool2-2.0.jar; 赠送原API文档:commons-pool2-2.0-javadoc.jar; 赠送源代码:commons-pool2-2.0-sources.jar; 赠送Maven依赖信息文件:commons-pool2-2.0.pom; 包含翻译后的API文档:...

    common-dbcp.jar,common-pool.jar,common-collections.jar

    commons-dbcp-1.4 jar java连接池. .commons-dbcp 是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要3个包:

    Jedis-Common-Pool

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

    jedis 和 common-pool

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

    commons-pool2-2.11.1-bin.zip

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

    common-pool的eclipse源码+例子

    common-pool的eclipse源码+例子,可以直接导入到eclipse中运行,例子的代码放在src/main/java mh.test中,注意eclipse的jre版本不要用1.8,那样会出现duplicate method的错误!

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

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

    commons-pool2-2.8.1.jar

    《Apache Commons Pool 2.8.1:高效对象池实现详解》 Apache Commons Pool 是一个广泛使用的开源组件,主要用于提供对象池化的实现。在Java世界里,对象池化是一种优化资源管理的重要技术,通过复用已创建的对象,...

    jedis-2.7.0.jar和commons-pool2-2.3.jar

    commons-pool2-2.3.jar commons-pool2.jar是一个十分常用的jar文件,commons-pool2.jar文件适用于java开发中的与连接池进行连接部分使用,如果您缺少这个jar文件马上下载commons-pool2.jar吧

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

    赠送jar包:commons-pool2-2.5.0.jar; 赠送原API文档:commons-pool2-2.5.0-javadoc.jar; 赠送源代码:commons-pool2-2.5.0-sources.jar; 包含翻译后的API文档:commons-pool2-2.5.0-javadoc-API文档-中文...

    jedis 2.9 jar包括源代码及common-pool

    jedis 2.9jar包括源代码及common-pool 下面是官方地址,不用积分: https://github.com/xetorthio/jedis http://mvnrepository.com/artifact/redis.clients/jedis/2.9.0

    go-commons-pool, 用于golang的通用对象池.zip

    go-commons-pool, 用于golang的通用对象池 共享池 go公共池是用于 Golang的通用对象池,直接从 Apache公共池重写。特性支持自定义 PooledObjectFactory 。Rich pool配置选项,可以精确控制池对象生命周期。 请参见 ...

    SpringBoot2.2+commons-pool2实现多Ftp连接池完整项目,开箱即用,经过长期生产使用稳定可靠

    使用JDK1.8、SpringBoot2.2.10.RELEASE、lombok1.18.8、guava23.0、hutool5.3.10、commons-pool2 2.7.0、tika1.22等实现多Ftp连接池实现,通过守护线程实现连接池内连接可用性校验,配置最大、最小连接个数防止Ftp...

    最新commons-pool与commons-dbcp

    在描述中提到了两个具体的版本号:“commons-dbcp-1.2.2.jar”和“commons-pool-1.3.jar”。这两个版本是较旧的,可能不包含最新的性能优化和安全修复。通常建议使用较新的稳定版本以获得更好的兼容性和安全性。不过...

    jedis2.9-common-pool

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

    commons-dbcp-1.4.jar和commons-pool-1.4.jar

    这两个JAR文件——commons-dbcp-1.4.jar和commons-pool-1.4.jar,是Apache软件基金会提供的开源组件,用于优化数据库资源的管理和复用。 **Apache Commons DBCP** Apache Commons DBCP 是一个基于Apache Commons ...

    Redis Java客户端Jedis 2.9.0 jar包(含common-pool2)

    Redis的官方推荐Java客户端——Jedis 此Jar包为Jedis 2.9.0版(2016年7月22日发布) 支持Redis 3.0 (亲测有效) 使用方法: import redis.clients.jedis.Jedis; Jedis jedis = new Jedis("localhost");...

    redis-2.1.0 和commons-pool-1.5.6 Java测试redis values 类型

    首先,`commons-pool-1.5.6`是一个Apache开源项目,提供了对象池化的服务,可以用于管理数据库连接池或其他资源池。在Redis的场景下,它可能被用来管理Redis连接,通过对象池化技术提高连接复用率,降低系统开销。...

Global site tag (gtag.js) - Google Analytics