数据库连接池的工作原理

转载 2018年04月16日 22:41:57


连接池用于创建和管理数据库连接的缓冲技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要使用JDBC对一个数据库操作时,将从池中请求一个连接。当这个链接使用完毕后,将返回连接池中,等待为其他的线程服务。

连接池的主要优点:

1)减少连接的创建时间,连接池中的连接是已准备好的,可以重复使用的,获取后可以直接访问数据库,因此减少了连接创建的次数和时间。

2)简化的编程模式。当使用连接池时,每一个单独的线程能够像创建自己的JDBC连接一样操作,允许用户直接使用 JDBC编程技术。

3)控制资源的使用。如果不使用连接池,每次访问数据库都需要创建一个连接,这样系统的稳定性受系统的连接需求影响很大,很容易产生资源浪费和高负载异常。连接池能够使性能最大化,将资源利用控制在一定的水平之下。连接池能控制池中的链接数量,增强了系统在大量用户应用时的稳定性。

连接池的工作原理:

连接池的核心思想是连接的复用,通过建立一个数据库连接池以及一套连接使用、分配和管理策略,使得该连接池中的连接可以得到高效,安全的复用,避免了数据库连接频繁建立和关闭的开销。

连接池的工作原理主要由三部分组成,分别为连接池的建立,连接池中连接的使用管理,连接池的关闭。

第一、连接池的建立。一般在系统初始化时,连接池会根据系统配置建立,并在池中建立几个连接对象,以便使用时能从连接池中获取,连接池中的连接不能随意创建和关闭,这样避免了连接随意建立和关闭造成的系统开销。java中提供了很多容器类,可以方便的构建连接池,例如Vector,stack等。

第二、连接池的管理。连接池管理策略是连接池机制的核心,连接池内连接的分配和释放对系统的性能有很大的影响。其策略是:

当客户请求数据库连接时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用;如果没有控线连接,则查看当前所开的连接数是否已经达到最大连接数,例如如果没有达到就重新创建一个请求的客户;如果达到,就按设定的最大等待时间进行等待,如果超出最大等待时间,则抛出异常给客户。

当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过了就从连接池中删除该连接,否则就保留为其他客户服务。该策略保证了数据库连接的有效复用,避免了频繁建立释放连接所带来的系统资源的开销。

第三、连接池的关闭。当应用程序退出时,关闭连接池中所有的链接,释放连接池相关资源,该过程正好与创建相反。

谈谈数据库连接池的原理

这次我们采取技术演进的方式来谈谈数据库连接池的技术出现过程及其原理,以及当下最流行的开源数据库连接池jar包。...
  • shuaihj
  • shuaihj
  • 2013-11-06 10:14:07
  • 61038

数据库连接池的作用与基本原理

1. 基本原理:在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。 如外部使用者可通过getConnection方法获取数据库连接,使用完毕后再通过releaseCon...
  • qq_18433441
  • qq_18433441
  • 2016-12-14 10:55:43
  • 3976

Java中数据库连接池基本工作原理的详细讲解

连接池的基本工作原理   1、基本概念及原理   由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池 (Resourc...
  • a564663276
  • a564663276
  • 2013-05-23 10:30:17
  • 2555

数据库连接池原理详解与自定义连接池实现

实现原理数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数制约。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最...
  • fuyuwei2015
  • fuyuwei2015
  • 2017-05-17 18:18:54
  • 2948

c3p0数据库连接池实现原理笔记

为什么用连接池-我们最初jdbc连接数据库需要 1. 安装驱动 2. 取得连接 3. 打开窗口 4. 书写语句、执行语句和查看结果 5. 关...
  • mingxin95
  • mingxin95
  • 2016-05-01 22:17:20
  • 1324

Java jdbc数据库连接池总结2

  • 2012年10月11日 13:57
  • 15KB
  • 下载

数据连接池的工作原理

转自:http://www.uml.org.cn/sjjm/201004153.asp 随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发...
  • jxxiongxiaozhi
  • jxxiongxiaozhi
  • 2015-06-07 09:41:51
  • 2230

DBCP数据库连接池原理分析

在比较大的项目中,需要不断的从数据库中获取数据,java中则使用JDBC连接数据库,但是获取数据库的连接可是相当耗时的操作,每次连接数据库都获得 、销毁数据库连接,将是很大的一个开销。为了解决这种开销...
  • jiaomingliang
  • jiaomingliang
  • 2015-05-25 10:39:55
  • 2144

什么是连接池,其工作原理是什么?

连接池用于创建和管理数据库连接的缓冲池技术,缓冲池中的连接可以被任何需要他们的线程使用。当一个线程需要用JDBC对一个数据库操作时,将从池中请求一个连接。当这个连接使用完毕后,将返回到连接池中,等待为...
  • xiebaochun
  • xiebaochun
  • 2014-06-06 17:11:29
  • 8813

数据库连接池配置

  • 2012年12月10日 20:38
  • 63KB
  • 下载
收藏助手
不良信息举报
您举报文章:数据库连接池的工作原理
举报原因:
原因补充:

(最多只允许输入30个字)