
数据库连接池的好处是不言而喻的,现在大部分的application
server都提供自己的数据库连接池方案,此时,只要按照application server的文档说明,正确配置,即可在应用中享受到数据库连接池的好处。
但是,有些时候,我们的应用是个独立的java
application,并不是普通的WEB/J2EE应用,而且是单独运行的,不要什么application
server的配合,这种情况下,我们就需要建立自己的数据库连接池方案了。
1、 DBCP
DBCP是Apache的一个开源项目:
commonsdbcp
DBCP依赖Apache的另外2个开源项目
commonscollections和commonspool
dbcp包,目前版本是121:>
那么,这么好的P是怎么做到的呢?官网详细地说明了HikariCP所做的一些优化,总结如下:
字节码精简:优化代码,直到编译后的字节码最少,这样,CPU缓存可以加载更多的程序代码;
优化代理和拦截器:减少代码,例如HikariCP的Statement proxy只有100行代码,只有BoneCP的十分之一;
自定义数组类型(FastStatementList)代替ArrayList:避免每次get()调用都要进行range check,避免调用remove()时的从头到尾的扫描;
自定义集合类型(ConcurrentBag):提高并发读写的效率;
其他针对BoneCP缺陷的优化,比如对于耗时超过一个CPU时间片的方法调用的研究(但没说具体怎么优化)。
很多优化的对比都是针对BoneCP的……哈哈。
以上就是关于Java开发常用的几个数据库连接池全部的内容,包括:Java开发常用的几个数据库连接池、java数据库连接池最大连接数最小连接数怎么设置、为什么HikariCP被号称为性能最好的Java数据库连接池,如何配置使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)