0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

连接池工作原理

工程师 来源:网络整理 作者:h1654155205.5246 2019-03-22 16:16 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

连接池工作原理

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

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

第一、连接池的建立

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

第二、连接池的管理

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

当客户请求数据库连接时,首先查看连接池中是否有空闲连接,如果存在空闲连接,则将连接分配给客户使用;如果没有空闲连接,则查看当前所开的连接数是否已经达到最大连接数,如果没达到就重新创建一个连接给请求的客户;如果达到就按设定的最大等待时间进行等待,如果超出最大等待时间,则抛出异常给客户。当客户释放数据库连接时,先判断该连接的引用次数是否超过了规定值,如果超过就从连接池中删除该连接,否则保留为其他客户服务。

该策略保证了数据库连接的有效复用,避免频繁的建立、释放连接所带来的系统资源开销。

第三、连接池的关闭

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

连接池工作原理

连接池的运作原理

在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术是解决这个问题最常用的方法,在许多应用程序服务器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了这项技术,无需自己编程,但是,深入了解这项技术是非常必要的。

数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。

数据库连接池的主要操作如下:

(1)建立数据库连接池对象(服务器启动)。

(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。

(3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。

(4)存取数据库。

(5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。

(6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3993

    浏览量

    67718
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    知识分享|连接器的工作原理

    工作原理连接器主要由接头、绝缘体和金属触点三部分组成。接头一般由塑料制成,是连接器的主体;绝缘体用于保护连接器,其作用是防止电路之间的耦合、脉冲和静电放电等异常电源;金
    的头像 发表于 08-27 17:30 1876次阅读
    知识分享|<b class='flag-5'>连接</b>器的<b class='flag-5'>工作原理</b>?

    GPIO配置的工作原理是什么?

    我使用 EZ-USB 配置实用程序,我想知道是否有人知道 GPIO 配置的工作原理。 例如,GPIO0 可以用作传感器复位,我知道这个 GPIO0 用于重置传感器,但我不明白的是选项用户 GPIO 例如GPIO 1可以是User GPIO0,这是什么意思呢?
    发表于 05-19 06:56

    云电竞服务器 工作原理

    云电竞服务器工作原理详解 一、核心架构原理 虚拟化资源‌ 通过 ‌KVM/VMware‌ 等虚拟化技术将物理服务器(含NVIDIA GPU集群)抽象为可动态分配的算力资源,每个用户独享独立虚拟机
    的头像 发表于 05-14 07:44 446次阅读
    云电竞服务器 <b class='flag-5'>工作原理</b>

    电动调压器的工作原理

    电压调压器是一种用于控制电路中电压的装置,其工作原理因类型而异,以下是几种常见电压调压器的工作原理
    的头像 发表于 05-12 13:46 902次阅读
    电动调压器的<b class='flag-5'>工作原理</b>

    微动开关的工作原理

    微动开关的工作原理
    的头像 发表于 04-17 09:00 2714次阅读

    电池连接器的工作原理?接线方法?

    连接器的工作原理基于电路中电荷的流动和电位差的建立。当电池连接连接到电池时,电池内部会产生一个电势差,即电压。电势差的大小取决于电池的化
    的头像 发表于 03-12 09:03 1262次阅读
    电池<b class='flag-5'>连接</b>器的<b class='flag-5'>工作原理</b>?接线方法?

    等电位连接器的工作原理

    等电位连接器的工作原理主要是基于其内部的非线性元件特性以及电场和电流的相关原理: 基于非线性元件的导通原理:*等电位连接器通常利用气体放电管或压敏电阻等非线性元件来实现等电位连接功能。
    的头像 发表于 03-11 19:56 756次阅读

    开关电源的基本工作原理

    方式多用于DC/AC逆变电源,或 DC/DC 电压变换;后两种工作方式多用于开关稳压电源。 根据开关器件在电路中连接的方式,目前比较广泛使用的开关电源,大体上可分为:串联式开关电源、并联式开关电源、变压器
    发表于 03-10 17:01

    减速机的工作原理具体是如何实现的?

    减速机的工作原理主要基于齿轮传动的原理,通过不同的齿轮组合来实现速度的降低和扭矩的增加。以下是减速机工作原理的具体实现步骤: 1、输入轴与驱动电机连接: 减速机的输入轴通常与驱动电机相连。电机提供
    发表于 03-05 16:24

    液力偶合器工作原理 液力偶合器常见故障

    一、液力偶合器工作原理 液力偶合器,又称液力联轴器,是一种利用液体的动能进行能量传递的液力传动装置。它以液体油作为工作介质,通过泵轮和涡轮将机械能和液体的动能相互转化,从而连接原动机与工作
    的头像 发表于 01-31 15:07 2034次阅读

    分压器的工作原理

     分压器是一种电路元件,其工作原理基于欧姆定律和电压分配法则。分压器通常由两个或更多个电阻(或其他元件,如电容器)串联而成,用于将输入电压分配到输出端。以下是分压器工作原理的详细解释:
    的头像 发表于 01-28 13:50 3237次阅读

    移动电源的工作原理_移动电源结构

    移动电源的工作原理是将电能存储在内置电池中,然后通过适当的电压和电流输出,为电子设备提供所需的电能。以下是关于移动电源工作原理的详细解释:
    的头像 发表于 01-27 16:11 3270次阅读

    超级电容电池的工作原理

    超级电容电池是一种介于传统电容器与电池之间的新型储能装置。其工作原理主要基于电荷分离和电场存储,以下是关于超级电容电池工作原理的详细解释:
    的头像 发表于 01-27 11:17 1977次阅读

    K型热电偶的工作原理

    相互焊接形成测量端(也称工作端或热端),另一端则通过导线连接至测量仪表,形成参考端(也称冷端或自由端)。 二、工作原理 当K型热电偶的测量端与参考端存在温度差时,由于两种金属材料的热电性质不同,它们之间会产生热电势。
    的头像 发表于 01-14 09:34 4481次阅读

    燃料电池测试负载的工作原理是什么?

    燃料电池测试负载的工作原理主要涉及到对燃料电池性能的检测和评估。燃料电池是一种将化学能直接转化为电能的装置,其工作原理是通过氢气和氧气在催化剂的作用下发生氧化还原反应,产生电流和水。在这个过程中
    发表于 12-06 16:31