一个比 c3p0 快200倍的数据库连接池

本文介绍了HikariCP连接池,它与传统连接池对比优势明显,连接周期远超c3p0、dbcp2,Spring Boot 2.0将其作为默认数据库连接池。它由日本人开发,口号是快速、简单、可靠。还阐述了其快速的原因,如字节码精简、优化代理等,用法与其他连接池类似。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,看下面这张截图。

(图片来源于HikariCP官网)

这张图来自于HikariCP的官方github,是HikariCP与其他传统连接池的连接周期与执行计划生成周期的对比图,是不是感觉很突兀啊,没错,最长那个就是HikariCP,连接周期是成c3p0的200倍,dbcp2的50倍,一眼望去HikariCP的优势太明显了,其他连接池可谓全军覆没。以至于后来BoneCP的作者都放弃了维护,推荐大家使用HikariCP。另外,springBoot2.0把HikariCP作为了默认数据库连接池。

 

HikariCP是日本人开发的一款连接池,Hikari来自日文,是“光“的意思,这个产品的口号是:快速、简单、可靠。试图打造一个“零开销”的生产就绪JDBC连接池。

 

到这里,想必大家都好奇HikariCP为什么这么快呢?这么牛呢?

 

其实HikariCP官方github也给出了原因(如下截图)

(http://h5ip.cn/ASBy)

(图片来源于HikariCP官方github)

 

上面内容翻译总结如下:

1.字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;

2.优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码;

3.自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;

4.自定义集合类型(ConcurrentBag):提高并发读写的效率;

5.其他针对BoneCP缺陷的优化,比如对于耗时超过一个CPU时间片的方法调用的研究。

 

虽然性能很牛逼,但是用法和其他数据库连接池还是一样的,使用细节可参考官网。

 

正文结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值