jdbc深入~连接池
来源:互联网 发布:自然排名优化软件 编辑:程序博客网 时间:2024/06/06 18:36
jdbc连接数据有点直来直取感觉,一般在大型的web应用里面(淘宝,天猫啥的),如果用这种直来直去的,那得创建多少个数据库连接啊,很显然是不可能的
web应用每一次的数据操作都要建立一个连接,系统分配一次内存资源,既然涉及内存资源,就应该知道是有限宝贵的,有的人说,我有做数据连接关闭啊,这里就要说到关键点了。你可以这样去测试一下问题,你不做关闭,然后去循环创建数据库连接,你就会发现了,像mysql这,你再用可视化工具打开,你还会发现数据繁忙不让打开,
大型网站在线用户都有上千了吧,同时间操作的话,你数据量大查询速度慢,来不及关闭呢,再操作,数据库繁忙爆掉了,后面人花钱买了东西,你这边没有数据,你不得被人打上门去么?
频繁的进行数据库连接操作势必占用很多的系统资源,而数据库开放给你的连接有限,肯定会影响到你网站的速度,这样的服务器不崩溃都不正常
连接池技术
一次性创建可接受范围内的数据库连接,需要就获取,不需要就放回
dbcp,c3p0, Proxool, BoneCP , Druid 等等
连接池原理:
编写实现DataSource 接口类,
以构造器创建多个数据库的连接(以8个位列,别问这么多,幸运数字),
全部放到LinkedList<Connection> linkedList= new LinkedList<Connection>();
linkedList.add(你的数据库连接对象);
8-1*n(总数是8,每次减1,n总共次数),也就是每次用时从linkedList里面移除一个linkedList.removeFirst();
总共是8次,总不可能操作8次数据库之后就没了吧,jdbc也是有创建,操作完就有关闭的吧,这里关闭的时候你又要添加回来
(连接池这里不做实际的关闭,统称为释放)linkedList.add(你的数据库连接对象)重新放入linkedList,这样始终维持着8个数据库连接
当然(当并发增加是,连接池会不断的自动创建新的连接满足调用,直到达到连接池的最大数目;当连接池连接减少甚至没有时,连接池自动关闭一些连接,保持最小数目,这里就不考虑了)
这是我对数据库连接池的理解
- jdbc深入~连接池
- JDBC连接池
- Jdbc连接池介绍
- JDBC与连接池
- JDBC与连接池
- Jdbc连接池介绍
- JDBC连接池实现
- jdbc连接池
- jdbc连接池
- JDBC+MySQL连接池
- jdbc连接池
- JDBC 连接池代码
- JDBC之连接池
- JDBC之连接池
- JDBC 连接池
- jdbc连接池实现
- jdbc连接池
- jdbc连接池总结
- Kanade's sum(链表优化)
- css(二)----属性(1)
- 高通平台USB2.0和3.0接口充电器识别原理
- HDU 2026
- spring容器初始化的时候执行一个方法。
- jdbc深入~连接池
- Android开发动态添加标签
- DOM节点删除之remove()的有参用法和无参用法
- HDU 6038 函数问题
- 【补充】Linux-2.6.22.6 makefiles.txt翻译
- 用position: sticky 实现粘性元素区域悬浮效果
- Python API快餐教程(1)
- <<最小割模型在信息学竞赛中的应用>>的学习心得
- Handler的常见用法