1,首先我们要实现一个工厂类,用于处理验证,创建对象等方法。
2,我们要做一个pool 操作类
3,Main 函数
4,输出结果
activateObjectcom.mysql.jdbc.Connection@147ee05
================
passivateObjectcom.mysql.jdbc.Connection@1960f05
使用中几个:1
队列中还有:1
passivateObjectcom.mysql.jdbc.Connection@1e04cbf
passivateObjectcom.mysql.jdbc.Connection@66e815
passivateObjectcom.mysql.jdbc.Connection@edc3a2
passivateObjectcom.mysql.jdbc.Connection@6e70c7
activateObjectcom.mysql.jdbc.Connection@1960f05
activateObjectcom.mysql.jdbc.Connection@1e04cbf
activateObjectcom.mysql.jdbc.Connection@66e815
passivateObjectcom.mysql.jdbc.Connection@1d63e39
passivateObjectcom.mysql.jdbc.Connection@d0a5d9
passivateObjectcom.mysql.jdbc.Connection@b8f82d
passivateObjectcom.mysql.jdbc.Connection@a6aeed
destroyObject:com.mysql.jdbc.Connection@a6aeed
使用中几个:4
队列中还有:5
================
passivateObjectcom.mysql.jdbc.Connection@66e815
destroyObject:com.mysql.jdbc.Connection@66e815
使用中几个:3
队列中还有:5
=====clear===========
destroyObject:com.mysql.jdbc.Connection@edc3a2
destroyObject:com.mysql.jdbc.Connection@6e70c7
destroyObject:com.mysql.jdbc.Connection@1d63e39
destroyObject:com.mysql.jdbc.Connection@d0a5d9
destroyObject:com.mysql.jdbc.Connection@b8f82d
=====close===========
通过以上结果我们可以发现,在连接池clear()的时候,调用 destroyObject 方法,我们这里把连接都关闭了
同样的道理,我们close()的时候也是如此。
而连接池的最大激活数目的设置是不起作用的,但是队列最多连接数那是有效果的,如果队列已经是最多了,它会把创建的或者归还的,调用 destroyObject 方法,释放对象。
原创作品,转载请标明出处
作者 keyboardsun
分享到:
相关推荐
再者,DBCP(BasicDataSource)是Apache Commons DBCP项目的一部分,它是基于Jakarta-Commons-Pool的数据库连接池实现。DBCP提供了基本的连接池功能,如连接池大小控制、空闲连接检测等。相对于C3P0和Druid,DBCP...
DBCP(Database Connection Pool)是Apache软件基金会的Commons DBCP项目提供的一款开源的数据库连接池组件。数据库连接池在Java应用中扮演着至关重要的角色,它通过维护一定数量的数据库连接,实现了数据库连接的...
总的来说,DBCP和Commons Pool是Java应用中实现数据库连接池的重要工具,它们能够有效地管理数据库连接,提升应用的并发性能和资源利用率。在实际开发中,正确配置和使用这两个组件对于优化数据库操作和提高应用整体...
本资源集合了常用的JDBC数据库连接jar包,以及一些知名的数据库连接池实现,如dbcp和c3p0,这对于开发人员来说是非常宝贵的资源。 首先,让我们了解一下JDBC。JDBC提供了一套标准的API,包括接口和类,使得开发者...
`commons-dbcp`(Database Connection Pool)是Apache的一个开源项目,它提供了一个基于Java的数据库连接池实现。Dbcp允许开发者在多线程环境中高效地管理数据库连接,避免了频繁创建和关闭数据库连接的开销。这个库...
本文将深入解析“ConnectionPool”(数据库连接池)的工作原理,常见实现及使用方法。 **一、数据库连接池的概念** 数据库连接池,简单来说,就是管理数据库连接的池化技术。它预先创建一定数量的数据库连接,当多...
Apache Commons DBCP2 是一个基于 Apache Commons Pool2 和 Apache Commons Collections 的数据库连接池实现。它提供了基本的连接池功能,如连接创建、分配和回收,同时也具有一定的性能优化能力。DBCP2 支持 JDBC4...
本教程将深入探讨数据库连接池的原理,特别是针对C3P0和DBCP这两个常见的连接池实现。 首先,我们来看一下数据库连接池的基本概念。数据库连接池在初始化时会创建一定数量的数据库连接并保存在池中,当应用程序需要...
在Java开发中,有三种常见的数据库连接池实现:DBCP(BasicDataSource)、C3P0以及阿里开源的Druid。下面将详细介绍这三种数据库连接池的实现原理和特性。 1. **DBCP (BasicDataSource)** DBCP 是 Apache Commons ...
总的来说,DBCP2是一个适用于学习和小型项目的数据库连接池实现,对于初学者来说,通过这个压缩包可以了解数据库连接池的基本工作原理和使用方式,对于开发者而言,它可以提供基本的数据库连接管理功能,但可能需要...
总的来说,Apache Commons DBCP与其他两个库结合使用,为Java应用程序提供了高效且可靠的数据库连接池解决方案。了解并熟练使用这些jar包,能够帮助开发者优化数据库性能,提高系统稳定性和响应速度。在实际开发中,...
- `commons-dbcp-1.4.jar`:包含Apache DBCP库,用于数据库连接池的管理。 - `commons-pool-1.6.jar`:提供了通用对象池的功能,是DBCP的基础。 #### 三、关键类介绍 1. **BasicDataSource**:这是DBCP提供的核心类...
1. **DBCP(Apache Commons DBCP)**:这是一个Apache基金会下的开源连接池实现,依赖于Commons Pool库。DBCP常用于Tomcat等应用服务器,也可以单独在应用程序中使用。使用DBCP时,需要引入Commons-dbcp和Commons-...
在Web开发中,常见的数据库连接池实现有: 1. C3P0:这是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0提供了一套完善的配置参数,可以精细调整连接池的行为,如初始化和...
DBCP(Jakarta DBCP)是Apache软件基金会的一个开源项目,它基于Jakarta Commons库,为多种数据库提供了连接池实现。 在Java中,数据库连接通常通过JDBC(Java Database Connectivity)API来实现。JDBC允许Java程序...
1. **JdbcPool**:这是一个简单的自定义数据库连接池实现,通常用于教学或小型项目。它通过维护一个连接池,每当需要数据库连接时,就从池中获取,用完后归还。JdbcPool的基本思路是初始化时创建一定数量的数据库...
标题中提到的"各种数据库连接池",包括了c3p、DBCP和Proxool,这些都是Java环境下常见的数据库连接池实现: 1. **C3P0**:这是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。...