1 传统的连接不足:
1)使用DriverManager获取一个连接后将Connection加载到内存,在验证用户名密码等,执行完后就释放,这样的方式将会消耗大量的资源和时间
2)每次数据库连接,使用完后都得断开,否则程序会出现异常而未能关闭,导致数据库系统的内存泄漏
3)这种开发不能控制被创建的连接对象数,系统资源会毫无顾忌地分配出去。如果连接过多,可能导致内存泄漏,服务器崩溃。
2 基本思想就是为数据库连接建立一个“缓冲池”,预先放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕后再放回去。
3 JDBC的数据库连接池使用javax.sql.DataSource表示,DataSource只是一个接口,该接口通常有一些服务器(Weblogic,WebSpere,Tomcat)提供实现。也有开元组织提供实现:
1)dbcp连接池:DBCP是Apache软件基金组织下的开源连接池,tomcat的连接池采用该连接池实现。
2)c3p0连接池