进行一次数据库 *** 作,比如一个简单的查询,花费的时间可以看成:代码运行时间+数据库连接时间+数据库 *** 作时间(这里是查询),建立连接池能将数据库的这个连接保持在连接池中,需要进行数据库 *** 作的时候,直接调用就行,不像往常一样,重新建立连接,用完销毁。
1dbcp
dbcp可能是使用最多的开源连接池,原因大概是因为配置方便,而且很多开源和tomcat应用例子都是使用的这个连接池吧。
这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。这个连接池的配置参见附件压缩包中的:dbcpxml
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性还是可以,不过速度稍慢,在大并发量的压力下稳定性有所下降,此外不提供连接池监控
2c3p0
c3p0是另外一个开源的连接池,在业界也是比较有名的,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:c3p0xml。
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性相当不错,在大并发量的压力下稳定性也有一定保证,此外不提供连接池监控。
3proxool
proxool这个连接池可能用到的人比较少,但也有一定知名度,这个连接池可以设置最大和最小连接,连接等待时间等,基本功能都有。
这个连接池的配置参见附件压缩包中的:proxoolxml。
使用评价:在具体项目应用中,发现此连接池的持续运行的稳定性有一定问题
这不是很明显吗?
closeConnection(Connection connection)这个方法里无论如何都会把连接close掉,而连接池实际上应该只是释放连接而并非直接把连接关掉。真正关掉连接的 *** 作应该在关闭连接池的时候或者更为有效的连接管理策略中。
以上就是关于Java程序为什么需要数据库连接池全部的内容,包括:Java程序为什么需要数据库连接池、java的3种数据库连接池用哪个好、java 用多线程测试数据库连接池抛出异常等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)