J2EE中连接池的深入理解


首先介绍使用连接池的好处
在WEB开发中,使用连接池相对于普通的jdbc方式访问数据库可以成倍的增加数据库的访问效率。

JDBC方式访问数据库较慢的原因
使用JDBC方式访问数据库的时候,每次访问都必须要和数据库建立连接,而连接是可以被复用的,因此,JDBC方式在这个过程中浪费了时间,从而访问效率降低.

连接池增加数据访问效率的原理
使用连接池的时候,可以通过配置web.xml文件使得服务器在启动的时候即创建一定数量的连接【相当于设计模式中的饿汉模式】并存储于连接池中【一块存储区域,这里只是有个名称而已,没有特殊的含义】,因此当需要使用的时候可以直接从连接池中获取实例,用完后必须要释放连接实例【只是将连接放回了连接池,并没有真正的关闭这个和数据库的连接】,因为数据库的连接是有限的;


使用连接池时需要注意的问题

使用连接池的时候需要手动关闭连接?
首先确定以下几个概念:
1、连接池即使回收Connection,也不是马上释放,而是会过一阵子才释放;
2、连接池概念本身是代为管理Connection,当我们使用close()关闭连接时,只是把该连接放回了连接池中,并没有真正的关闭这个连接;
3、Connection Pool在有外来请求,而没有空闲的Connection时,会按照时间顺序回收Connection,而不是全部回收;
因此,基于连接池数量有限的前提,即使是连接池中的连接,在使用完毕之后也要手动进行关闭。

下面将通过图解的方式对连接池和JDBC两种方式进行说明
这里写图片描述

案例链接:Oracel连接池案例代码


Reprint please specify: Blog4Jun J2EE中连接池的深入理解

Previous
Java 对象的存储区域 Java 对象的存储区域
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据: 转载自:Java 对象的存储区域 (1)寄存器; 这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处
2018-12-04 Pursue
Next
J2EE中session的深入理解 J2EE中session的深入理解
在学习J2EE的过程中,session和cookie是极为重要的部分,下面谈谈我对session和cookie的理解: 首先介绍两者的相同点相同点1.session和cookie都是生存周期有限的数据存储方式【此处不考虑生命周期无限大的情
2018-12-04 Pursue