Java数据库连接池

一般来说,Java应用程序访问数据库的过程如下:
①装载数据库驱动程序
②通过JDBC建立数据库连接
③访问数据库,执行SQL语句
④断开数据库连接
在第二步是通过创建Socket来和数据库建立连接,这里花费的时间要比实际的执行查询的操作所花费的时间还要更长,而且频繁的进行数据库连接操作会消耗大量的系统资源,所以经常会听到这么一句话“数据库连接很昂贵”。如果程序出现异常而未能断开数据库连接,还有可能导致数据库系统中的内存泄漏。

数据库连接池是创建、分配、管理和释放数据库连接的缓冲池的技术,连接池初始化时创建一定量的连接,然后从连接池中重用连接,而不是每次创建一个新的,从而减少连接创建时间。

[b]DBCP[/b]
[url=http://commons.apache.org/dbcp/]http://commons.apache.org/dbcp/[/url]
利用了Jakarta Commons Pool来实现连接池管理。Tomcat的数据源使用的就是DBCP。

[b]C3P0[/b]
[url=http://sourceforge.net/projects/c3p0/]http://sourceforge.net/projects/c3p0/[/url]
一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展,可自动回收空闲连接。目前使用它的开源项目有Hibernate,Spring等。

[b]BoneCP[/b]
[url=http://jolbox.com/]http://jolbox.com/[/url]
一个只有四十几K大小的开源的快速的 JDBC 连接池。

[b]阿里巴巴的Druid[/b]
[url=https://github.com/AlibabaTech/druid]https://github.com/AlibabaTech/druid[/url]

[b]其他[/b]
[b]Proxool[/b] http://proxool.sourceforge.net/ 2008年发布0.9.1版后已经不再更新
[b]Tomcat JDBC Connection Pool[/b] http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html 依赖于Tomcat
[b]DBPool[/b] http://www.snaq.net/java/DBPool/
[b]SmartPool[/b] http://smartpool.sourceforge.net/
[b]XAPool[/b] http://xapool.ow2.org/
[b]MiniConnectionPoolManager[/b] http://www.source-code.biz/miniconnectionpoolmanager/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值