查看“数据库连接池技术概述”的源代码
←
数据库连接池技术概述
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
https://www.bilibili.com/video/BV1eJ411c7rf?p=46 ===JDBC 数据库连接池的必要性=== *在使用开发基于数据库的 Web 程序时,传统的模式基本是按以下步骤: **'''在主程序(如 Servlet、beans)中建立数据库连接''' **'''进行 SQL 操作''' **'''断开数据库连接''' *这种模式开发,存在的问题: **普通的 JDBC 数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s~1s的时间)。需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接。这样的方式将会消耗大量的资源和时间。'''数据库的连接资源并没有得到很好的重复利用'''。若同时有几百人甚至几千人在线,频繁地进行数据库连接操作将占用很多的系统资源,严重的甚至会造成服务器的崩溃。 **'''对于每一次数据库连接,使用完后都得断开'''。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将导致重启数据库。(回忆:何为 Java 的内存泄漏?) **'''这种开发不能控制被创建的连接对象数''',系统资源会被毫无顾忌地分配出去,如连接过多,也可能导致内存泄漏,服务器崩溃。 === 数据库连接池技术 === * 为解决传统开发中的数据库连接问题,可以采用数据库连接池技术。 * '''数据库连接池的基本思想''':就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 * 数据库连接池在初始化时将一定数量的数据库连接放到连接池中,这些数据库连接的数量是由'''最小数据库连接数来设定'''大的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的'''最大数据库连接数量'''限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。 [[文件:数据库连接池 1.png|居中|缩略图|900x900px|替代=]] === 工作原理 === [[文件:数据库连接池工作原理.png|居中|缩略图|800x800像素]]
返回至
数据库连接池技术概述
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息