HiKariCP的取代之路

一、为何要用连接池----池化思想

空间换时间,实现对象复用,减少对象创建销毁所带来的系统开销

为什么用连接池, 因为连接的创建和销毁非常耗时,中间有个TCP/IP协议,要3次握手,4次挥手。

二、为何要使用HiKariCP?这要先从BoneCP说起:

原本有C3P0/DBCP这些成熟的数据库连接池,一直用的好好的,为什么又搞出一个BoneCP来?因为,传说中BoneCP在快速这个特点上做到了极致,官方数据是C3P0等的25倍左右。

HiKariCP是光的意思,作者可能是日本人,用光来表示cp速度之快。

HiKariCP的特征:

1.快速、简单、可靠、小而精、性能高。
2.SpringBoot中默认优先加载(添加了spring-jdbc依赖会自动配置HiKariCP)

优化点

1.字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
2.优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一;
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、付费专栏及课程。

余额充值