jdbc深入~连接池
2017-08-02 20:03
190 查看
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个数据库连接
当然(当并发增加是,连接池会不断的自动创建新的连接满足调用,直到达到连接池的最大数目;当连接池连接减少甚至没有时,连接池自动关闭一些连接,保持最小数目,这里就不考虑了)
这是我对数据库连接池的理解
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个数据库连接
当然(当并发增加是,连接池会不断的自动创建新的连接满足调用,直到达到连接池的最大数目;当连接池连接减少甚至没有时,连接池自动关闭一些连接,保持最小数目,这里就不考虑了)
这是我对数据库连接池的理解
相关文章推荐
- tomcat+jdbc+sqlserver2008连接池
- Java知识点整理:第十六章:JDBC、分页/批处理/事务/连接池
- 基于JDBC的数据库连接池技术研究与应用
- 使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
- tomcat使用JDNI配置信息和使用信息。用于JDBC连接池
- 基于JDBC的数据库连接池技术研究与应用
- Spring2 JDBC 连接池
- [ java ] JDBC深入!
- JDBC之事务、连接池、dbutils
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- Tomcat 7 新的连接池 —— Tomcat jdbc pool + JNDI
- Spring学习-24:Spring中的JDBC Template(JDBC模板):默认连接池、DBCP连接池、C3P0池的配置
- jdbc连接池
- jdbc的事务管理,连接池的概念
- c3p0--Jdbc连接池的基本使用
- 使用装饰着设计模式开发自定义jdbc连接池
- 基于JDBC的数据库连接池技术研究与应用
- 《深入理解mybatis原理》 Mybatis数据源与连接池
- 基于JDBC的数据库连接池技术研究与应用