朴素的java数据库连接池实现(一)

本文介绍了数据库连接池在服务器端的重要性,列举了如DBCP、Proxool、c3p0等常见的Java数据库连接池实现,并强调了连接池的基本思想:资源控制、资源释放、简化用户代码和保持连接活性。提供了一个简单的连接池实现代码示例,并提出了改进方案,包括隐藏内部API、定期验证连接活性和自动收缩连接数。
摘要由CSDN通过智能技术生成

在服务器端涉及数据库访问的应用程序里头,数据库连接池是一项确保性能的关键技术。一谈起java数据库连接池,大家都可以罗列出一堆开源实现。

它们也各有优劣:
1. DBCP  TOMCAT自带的
2. proxool

3. c3p0:  see:  http://sourceforge.net/projects/c3p0

4. DBPool
5. Taobao的druid

这些都是蛮不错的连接池实现。基于不用重复造轮子一说,完全可以挑一个自己喜欢的去用。已有的轮子如果没出问题,还好说,出了问题,往往很难解决。
本文的主旨是阐述连接池的基本思想:
1. 能将池化的资源(连接)控制在一定范围以内[min, max]
2. 能在jvm退出之前,释放这些连接资源
3. 能尽量简化用户的代码
4. 能确保连接池的连接始终是活跃的

下面还是上代码吧,  以下的代码是整理而成,缺点还是不少,但是也足够一般情况下的使用,至少是可控的。

1.  一个hook类,用于jvm退出前释放资源

package com.hisql;

import java.sql.SQLException;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iihero

谢谢打赏,不断前行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值