码迷,mamicode.com
首页 > 数据库 > 详细

第四周作业-数据库连接池

时间:2016-03-27 01:32:38      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

  数据库连接池这个概念在上学期的时候做J2EE的实验时候就接触到了,当时仅仅只是了解了这个名词的概念,并没有真正的去深入了解用法,本课程需要做的项目难免需要大量访问数据库资源,考虑到系统的访问优化,开始重拾连接池这个工具。

  数据库连接在应用程序开发中是一种昂贵的资源,对他的操作优化直接影响到了整个系统的性能以及健壮性,连接池就是为了这个关键资源的优化而提出的一个重要概念,他首先新建一定量的数据库连接,当应用程序需要访问数据库时动态的分配连接,使用完毕后回收再利用,而不是频繁的新建和关闭连接,基于先进先出的服务顺序为应用程序提供良好的数据库性能保障。

  传统的JAVA连接数据库直接使用MYSQL的JDBC(Java Data Base Connectivity),这是一个简单粗暴的方法,由程序直接控制数据库连接,需要访问时从数据库服务器取得连接,执行过需要的操作后释放连接,在小型的本地程序或者对并发量要求不高的项目中,这或许是一个可行的方案;在当时做过的压力测试上,这种方法当时也能承受100台左右的并发访问,但仅仅能持续短时间,一但长时间高负载运行,整个系统就难逃瘫痪的结果。

  目前我所了解的数据库连接池有两种,分别是DBCP连接池和C3P0连接池。

  DBCP是Apache组织提供的开源连接池,Tomcat作为自家兄弟默认使用DBCP连接池,DBCP可以独立使用亦可以与应用服务器整合使用。

  C3P0也是一个开源的JDBC连接池,主要应用于Hibernate开发框架中。

  DBCP和C3P0的差别:

    DBCP没有自动回收空闲连接的机制,需用户主动释放;

    C3P0具有自动检测空闲连接并回收能力;

    DBCP和C3P0两种数据库连接池对连接的管理方式也不相同,C3P0提供最大空闲时间,当连接超过最大空闲时间时断开,而DBCP提供最大连接数。

  本文在参考http://www.cnblogs.com/xdp-gacl/p/4002804.html完成连接池配置后编写。

第四周作业-数据库连接池

标签:

原文地址:http://www.cnblogs.com/Tielong/p/5324537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!