博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
连接池的意义及阿里Druid
阅读量:5849 次
发布时间:2019-06-19

本文共 1137 字,大约阅读时间需要 3 分钟。

hot3.png

常用的主流开源数据库连接池有C3P0、DBCP、Tomcat Jdbc Pool、BoneCP、Druid等

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

DBCP (Database Connection Pool):由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代码组织,100%单元测试分支代码覆盖率;代码40KB左右。

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

转载于:https://my.oschina.net/u/3879049/blog/3047907

你可能感兴趣的文章
jtemplate使用笔记
查看>>
js将文字转化为语音并播放
查看>>
uiview 的setAnimationTransition : forView 方法实现翻页效果
查看>>
Ajax请求二进制流并在页面展示
查看>>
delphi 工具
查看>>
Soot生成控制流图
查看>>
如何打开*.zip.001文件
查看>>
Mongodb(1)如何存储以及简介
查看>>
java的Calendar(日历)类 (转)
查看>>
Struts 2 标签库及使用
查看>>
转:将字符串或表达式直接转为C#可执行代码的办法
查看>>
【数学】【P5076】 Tweetuzki 爱整除
查看>>
Yii2实现命名范围scope的自定义查询
查看>>
PHP二维数组指定字段进行排序
查看>>
谈谈git/github
查看>>
[转] vue之computed和watch
查看>>
paper 83:前景检测算法_1(codebook和平均背景法)
查看>>
encrypt myself code
查看>>
CentOS 7使用dnf安装Memcached以及启动、停止、开机启动等设置
查看>>
页面上通过地址栏传值时出现乱码的两种解决方法
查看>>