标签:
自定义连接池
创建一个可以存储连接的list
规定初始线程数量
最大线程数量
Int 正在使用中线程的数量
构造{通过deiverManager获取连接}
循环(初始数量)创建连接
{
正在使用中线程的数量++;
List.addLast(conn)
}
判断 如果正在使用中线程的数量>最大线程数量:renturn null
如果>初始线程数量&&<最大线程数量
创建信的连接并返回conn
Return list.removeFirst();
创建连接的时候要注意close方法要代理,不然就关闭了。
回收连接
传一个连接进来
如果正在使用中线程的数量>初始线程数量 <最大线程数量进行关闭
如果正在使用中线程的数量<=3 加入到listLast中
代理
简单说下代理:就是想要覆盖一个类中的某个方法。你觉得丫写的方法糟透了,就这么办吧。
Proxy 类加载器,类,new Inter…
DBCP
导入两个jar包:pool、dbcp
BasicDataSource() 硬编码
BasicDataSourceFactory.createDataSource(instream_property) 配置文件
C3P0
导入两个jar包:c3p0 和 dbcp
ComboPooledDataSource 硬编码
自动加载src下c3p0的配置文件【c3p0-config.xml】 配置文件
标签:
原文地址:http://www.cnblogs.com/core404/p/5786074.html