java 革命_JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)
从BoneCP到HikariCP
今天笔者本想更新一下项目中使用到的BoneCP版本的。却无意发现jolbox网站打不开了。起初以为是被墙掉了,经过一番查找,居然在BoneCP的Github站看到了如下的一段话:
BoneCP的作者不知何时修改了简述。(ps:红色框中的部分意思:虽然BoneCP性能优于老旧的C3PO和DBCP连接池,但是现在应该被舍弃了,以迎接HikariCP)
作者词语之间充满了悲凉之感,好比当年的少年侠客,风流倜傥,如今已是迟暮之年,不得不退出江湖,何其悲凉。
在笔者胡乱感伤一通过后,那么问题就来了。
HikariCP是虾米?
HikariCP是一个高效的数据库连接池。
One Connection Cycle is defined as singleDataSource.getConnection()/Connection.close().
In Unconstrained benchmark, connections > threads.
In Constrained benchmark, threads > connections (2:1).
One Statement Cycle is defined as singleConnection.prepareStatement(),Statement.execute(),Statement.close().
1 Versions: HikariCP 2.1.0, BoneCP 0.8.0, Tomcat 8.0.9, Vibur 1.2.0, C3P0 0.9.5-pre8, Java 8u20
2 Java options: -server -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -Xmx512m
从HikariCP网站给出的对比图来看。其性能相比于BoneCP有了质的变化,革命性的变更。
笔者因为使用了Spring框架。所以更换使用HikariCP相当简单,只要将原本BoneCP的配置信息修改一下就好了。详细见下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Ps:笔者也是首次使用HikariCP类库。具体的性能和优越性暂时还不好下定论。但是相信HikariCP开发组能发表这样的对比图,想来未必是空穴来风,暂时使用一下,过段时间再来完善性能是否如图表所示。持续关注中。
Maven :
【JDK1.8】
1
2 com.zaxxer
3 HikariCP
4 2.1.0
5 compile
6
【JDK1.6和1.7】:
1
2 com.zaxxer
3 HikariCP-java6
4 2.1.0
5 compile
6
作者:TinyZ出处:http://www.cnblogs.com/zou90512/
关于作者:从事于网络游戏服务端开发(JAVA)。喜欢接触和了解新技术。通过不断探索学习,提升自身价值。记录经验分享。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接
如有问题,可以通过 zou90512@126.com
java 革命_JAVA数据库连接池的革命 -- 从BoneCP到HikariCP(转)相关推荐
- java Datasource,数据库连接池
java Datasource,数据库连接池 目前有多重方式创建数据库连接池:JNDI,DBCP,C3P0等 为什么需要连接池: 使用java API DriverManager.getConnect ...
- java 简易版本数据库连接池
写了个 Java数据库连接池,具备基本的功能点: 1.对池中活动连接的重用. 2.池满时的适时等待. 3.对空闲连接的适时关闭. 抛砖引玉,走过路过,不吝赐教. DBConnection.java如下 ...
- java 数据库连接池 实例_java数据库连接池和数据库连接示例
import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mc ...
- java 连接池技术_java数据库连接池技术原理(浅析)
在执行数据库SQL语句时,我们先要进行数据连接:而每次创建新的数据库的连接要消耗大量的资源,这样,大家就想出了数据库连接池技术.它的原理是,在运行过程中,同时打开着一定数量的数据库连接,形成数据连接池 ...
- java连接mysql数据库连接池_java使用原生MySQL实现数据的增删改查以及数据库连接池技术...
一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: mysql mysql-connector-java 5.1.48 ...
- java 连接池配置_java数据库连接池配置的几种方式
关于java数据库连接池配置的几种方式 今天遇到了关于数据源连接池配置的问题,发现有很多种方式可以配置,现总结如下,(已Mysql数据库为例) 一,Tomcat配置数据源: 方式一:在WebRoot下 ...
- java mysql连接池配置_Java数据库连接池的几种配置方法(以MySQL数据库为例)
一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1.方法一:在WebRoot下面建文件夹META-INF,里面建 ...
- java中常用的连接池_java数据库连接池
编写标准的数据源(规范) Java为数据库连接池提供了公共的接口:javax.sql.DataSource,各个厂商需要让自己的连接池实现这个接口.这样应用程序可以方便的切换不同厂商的连接池! 常见的 ...
- java数据库连接的作用_java数据库连接池的作用
1.什么是连接池 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个: 释放空闲时间超过最大空闲时间的数据库连接,来避免因为没有释放数据库连接 ...
最新文章
- 6_jfoenix_自定义舞台,JFXSlider
- 一个Web Project引用多个Java Project在Eclipse下的配置--转载
- UNITY C#内存泄漏
- 【easy】206. Reverse Linked List 链表反转
- php数据存储mysql_php – 在MySQL中存储路线数据的最佳方式
- k均值的损失函数_一种基于均值不等式的Listwise损失函数
- 案例 月工作列表 c# 1614192274
- CentOS 7.4创建普通用户赋予登录权限
- Ubuntu 14 如何解压 .zip、.rar 文件
- 谈一谈python中的魔法变量*args和**kwargs
- python语言编程中的保留字_Python入门系列5-保留字和标识符
- 微信小程序调用百度云H5人脸识别
- EDA实验:数字频率计(FREQ)设计(VHDL)
- python多线程爬取图虫网图片
- Lumion和Enscape渲染器有什么区别?哪个适合你
- 动画--easeljs中的movieClip控件示例?
- 声音内容识别 linux,语音支付,银行的声纹识别与声纹鉴定
- 信息学奥赛一本通-2069:【例2.12 】糖果游戏
- 移动办公模式下的业务 微易聊微信管理系统作用显著!
- MATLAB 设置坐标轴的字体为斜体
热门文章
- 基于JSON的高级AJAX开发技术
- sonarqube通过sonarqube maven插件分析maven工程使用的mvn命令示例
- Scala多线程:使用线程池Executors提交Runnable任务代码示例
- Linux系统管理命令:date、free、ps、du、kill、uname
- RabbitMQ消费消息幂等性问题
- Scala中的trait特质
- Junit测试报错:java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
- 查看java源码时出现class文件而不是java文件,可能是因为java的安装路径下没有src.zip文件而是javafx-src.zip文件
- php xml expat,PHP Expat :XML的解析器
- setfacl 权限导出_linux学习-setfacl设置特定目录用户权限