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

    文章

    3761

    浏览量

    64267
收藏 人收藏

    评论

    相关推荐

    MQTT协议网关的工作原理及功能特性

    的数据传输。本文将详细探讨 MQTT协议网关 的工作原理、功能特性及其在物联网应用中的重要作用。 一、MQTT协议网关的工作原理 1、连接设备 MQTT协议网关通过各种通信接口(如WiFi、以太网、RS485等)与物联网设备进行
    的头像 发表于 09-18 17:00 379次阅读
    MQTT协议网关的<b class='flag-5'>工作原理</b>及功能特性

    神经网络中的卷积层、化层与全连接

    在深度学习中,卷积神经网络(Convolutional Neural Network, CNN)是一种特别适用于处理图像数据的神经网络结构。它通过卷积层、化层和全连接层的组合,实现了对图像特征的自动提取和分类。本文将详细探讨卷积层、
    的头像 发表于 07-11 14:18 4591次阅读

    使用mybatis切片实现数据权限控制

    一、使用方式 数据权限控制需要对查询出的数据进行筛选,对业务入侵最少的方式就是利用mybatis或者数据库连接池的切片对已有业务的sql进行修改。切片逻辑完成后,仅需要在业务中加入少量标记代码
    的头像 发表于 07-09 17:26 332次阅读
    使用mybatis切片实现数据权限控制

    连接器的工作原理是什么?

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

    连接器的基本结构和工作原理

    连接器,作为电子设备中不可或缺的组成部分,其基本结构和工作原理对于电子设备的正常运行至关重要。本文将详细介绍连接器的基本结构、工作原理以及其在电子设备中的应用。 一、
    的头像 发表于 06-20 09:24 2589次阅读

    霍尔开关的工作原理及应用

    霍尔开关的工作原理及应用
    的头像 发表于 04-09 10:29 2790次阅读
    霍尔开关的<b class='flag-5'>工作原理</b>及应用

    555集成芯片的工作原理

    555集成芯片的工作原理主要基于其内部电路结构和外部连接电路的共同作用。
    的头像 发表于 03-19 15:46 2296次阅读

    什么是动态线程?动态线程的简单实现思路

    因此,动态可监控线程一种针对以上痛点开发的线程管理工具。主要可实现功能有:提供对 Spring 应用内线程实例的全局管控、应用运行时动态变更线程参数以及线程
    的头像 发表于 02-28 10:42 587次阅读

    什么是Socket连接?Socket的工作原理 它与TCP连接有什么关系?

    什么是Socket连接?Socket的工作原理 它与TCP连接有什么关系? Socket连接是一种网络连接,用于在计算机网络中的两个节点之间
    的头像 发表于 01-22 16:10 2150次阅读

    地线的工作原理

    地线的工作原理  地线是电力系统中非常重要的一部分,它起着保护人身安全和设备正常工作的作用。本文将详细介绍地线的工作原理,包括地线的定义、作用、类型、布置和接地原理等内容,以期全面了解地线的
    的头像 发表于 12-07 11:37 5496次阅读

    线程的创建方式有几种

    线程是一种用于管理和调度线程的技术,能够有效地提高系统的性能和资源利用率。它通过预先创建一组线程并维护一个工作队列,将任务提交给线程来处理,从而减少线程的创建和销毁次数,避免了线程频繁创建和销毁
    的头像 发表于 12-04 16:52 821次阅读

    Java redis锁怎么实现

    在Java中实现Redis锁涉及到以下几个方面:Redis的安装配置、Redis连接池的使用、Redis数据结构的选择、实现分布式锁的几种方式等。 一、Redis的安装配置 下载Redis并解压缩
    的头像 发表于 12-04 10:47 1114次阅读

    综合热分析仪的工作原理

    热分析仪综合热分析仪通常由加热器、温度控制器、热电偶、数据采集系统和样品等组成。其工作原理基于热力学第一定律和第二定律,通过测量物质的质量、温度等参数,计算出物
    的头像 发表于 11-30 14:04 898次阅读
    综合热分析仪的<b class='flag-5'>工作原理</b>

    线程的运转流程图 化技术实践案例解析

    作为一名Java开发人员,化技术或多或少在业务代码中使用。常见的包括线程连接池等。也是因为Java语言超级丰富的基建,基本上这些化能力都有着相对成熟的“工具”。
    的头像 发表于 11-24 10:22 439次阅读
    线程<b class='flag-5'>池</b>的运转流程图 <b class='flag-5'>池</b>化技术实践案例解析

    化技术的应用实践

    作为一名Java开发人员,化技术或多或少在业务代码中使用。常见的包括线程连接池等。也是因为Java语言超级丰富的基建,基本上这些化能力都有着相对成熟的“工具”。
    的头像 发表于 11-24 10:22 481次阅读
    <b class='flag-5'>池</b>化技术的应用实践