培训首页  >  JAVA新闻  >  Java-数据库连接池技术

Java-数据库连接池技术

[2021-03-22 16:33:53] 浏览量:265 来源:

爱尚实训

Java-数据库连接池技术

池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;

基本概念:

数据库连接池:其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。        

使用池化技术的好处:1. 节约资源     2. 用户访问 3.提高程序性能和降低系统资源开销

Java中定义的接口—DataSource接口提供激活框架与数据的任意集合的抽象。

常用方法:

        获取连接:getConnection()

       归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接

主流的数据库连接池

在目前技术前沿比较流行的数据库连接池有:DBCP、Tomcat Jdbc Pool、BoneCP、Druid、C0等

  • DBCP:由Apache开发的一个Java数据库连接池项目, Jakarta commons-pool对象池机制,Tomcat使用的连接池组件就是DBCP。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar,common-collections.jar,预先将数据库连接放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完再放回。单线程,并发量低,性能不好,适用于小型系统。

  • Tomcat Jdbc Pool:Tomcat在7.0以前都是使用common-dbcp做为连接池组件,但是dbcp是单线程,为线程安全会锁整个连接池,性能较差,dbcp有超过60个类,也相对复杂。Tomcat从7.0开始引入了新增连接池模块叫做Tomcat jdbc pool,基于Tomcat JULI,使用Tomcat日志框架,完全兼容dbcp,通过异步方式获取连接,支持高并发应用环境,超级简单核心文件只有8个,支持JMX,支持XA Connection。

  • BoneCP:说法BoneCP是一个、免费、开源的Java数据库连接池实现库。设计初衷就是为了提高数据库连接池性能,根据某些测试数据显示,BoneCP的速度是快的,要比当时第二的连接池快25倍左右,集成到一些持久化产品如Hibernate和DataNucleus中。BoneCP特色:高度可扩展,;连接状态切换的回调机制;允许直接访问连接;自动化重置能力;JMX支持;懒加载能力;支持XML和属性文件配置方式;较好的Java代码组织,元测试分支代码覆盖率;代码40KB左右。

  • Druid:Druid是Java语言中好的数据库连接池,Druid能够提供强大的监控和扩展功能,是一个可用于大数据实时查询和分析的高容错、高性能的开源分布式系统,尤其是当发生代码部署、机器故障以及其他产品系统遇到宕机等情况时,Druid仍能够保持正常运行。主要特色:为分析监控设计;的交互式查询;高可用;可扩展;Druid是一个开源项目,源码托管在github上。

  • C3p0:开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。单线程,性能较差,适用于小型系统,代码600KB左右。

他们之间的对比


文中图片素材来源网络,如有侵权请联系删除
  • Adobe认证
  • Oracle认证
  • 思科认证
  • 微软认证
  • Linux认证
  • 其他
  • 职业技能提升
  • 考证找工作
  • 兴趣爱好
  • 周末班
  • 全日制白班
  • 随到随学

厚学推荐学校

网上报名

热门信息