问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是Java web开发中数据库的连接池技术,它的原理大致是什么?

发布网友 发布时间:2022-04-08 02:52

我来回答

2个回答

热心网友 时间:2022-04-08 04:21

什么是连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
为什么要使用连接池
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。 一个数据库连接对象均对应一个物理数据库连接,每次操作都打开一个物理连接,使用完都关闭连接,这样造成系统的 性能低下。 数据库连接池的解决方案是在应用程序启动时建立足够的数据库连接,并讲这些连接组成一个连接池(简单说:在一个“池”里放了好多半成品的数据库联接对象),由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应该在请求队列中排队等待。并且应用程序可以根据池中连接的使用率,动态增加或减少池中的连接数。 连接池技术尽可能多地重用了消耗内存地资源,大大节省了内存,提高了服务器地服务效率,能够支持更多的客户服务。通过使用连接池,将大大提高程序运行效率,同时,我们可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。

热心网友 时间:2022-04-08 05:39

一般来说,java应用程序访问数据库的过程是:
  ①装载数据库驱动程序;
  ②通过jdbc建立数据库连接;
  ③访问数据库,执行sql语句;
  ④断开数据库连接。
程序开发过程中,存在很多问题:首先,每一次web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统有多大的开销。可是对于现在的web应用,尤其是大型电子商务网站,同时有几百人甚至几千人在线是很正常的事。在这种情况下,频繁的进行数据库连接操作势必占用很多的系统资源,网站的响应速度必定下降,严重的甚至会造成服务器的崩溃。不是危言耸听,这就是制约某些电子商务网站发展的技术瓶颈问题。其次,对于每一次数据库连接,使用完后都得断开。否则,如果程序出现异常而未能关闭,将会导致数据库系统中的内存泄漏,最终将不得不重启数据库。还有,这种开发不能控制被创建的连接对象数,系统资源会被毫无顾及的分配出去,如连接过多,也可能导致内存泄漏,服务器崩溃。
“数据库连接”是一种稀缺的资源,为了保障网站的正常使用,应该对其进行妥善管理。其实我们查询完数据库后,如果不关闭连接,而是暂时存放起来,当别人使用时,把这个连接给他们使用。就避免了一次建立数据库连接和断开的操作时间消耗。
由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池(resource pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。
这就是数据库连接池的原理,它大大提供了数据库连接的利用率,减小了内存吞吐的开销。我们在开发过程中,就不需要再关心数据库连接的问题,自然有数据库连接池帮助我们处理,这回放心了吧。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 想写一篇办公室主任竞聘稿件,不知道怎么写比较好? 大学学生会办公室竞选演讲稿怎么写? 建筑工地使用的塔式起重机的型号是什么,起升高度多少,幅度多少,起重力矩多少 塔吊型号有没有5313的,怎么看型号? 塔式起重机(简称塔吊) 塔式起重机型号都有哪些? 塔式起重机的型号和规格, 建筑塔式起重机型号如何解释、分类的?QTZ80 与 Q5510 各什么意思? 求塔吊型号怎么分辨 QTZ50(5010)塔吊的动力机型号和规格是什么? 塔吊有哪些型号? 塔吊有什么型号的 塔吊有那些品牌?起重量多少?什么型号? 塔式起重机的型号及分类有哪些? 塔式起重机有哪些常见型号? 塔吊都有哪些型号? 常见的附着式塔吊型号有哪些? 怎么用英语翻译新名,新的名称,新名,新的名称用英语 千语淘客助手获取微信推广位怎么做 "新的起点"用英语怎么说 卫生局目标管理办公室兼职竞聘演讲稿 TOUCH LENS 和TOUCH PANEL这两个有何区分? 我的戴尔笔记本开机后出现提示:touch panel未能启动 笔记本电脑的触摸板用英语怎么说 手机触摸时好时坏好,背光灯闪烁时触摸能用,不闪就不行,扫描显示Touch panel-Fail,要换触摸吗?电容屏的 touchset touch panel driver setup for windows server 2003 是什么东西 auto touchpanel是什么 华为应用列表里有个这个软件,不是垃圾软件吧 平板电脑的TP 是什么意思? calibratethetouchpanel是什么意思 java中数据源和连接池是什么?现在还用得上么? 昨天的新闻联播主持人康辉祖籍是哪儿 河北主持人妙然出生日期 新闻联播主持人郭志坚年龄 张宏民的新闻联播主持人张宏民的老家是哪里 新闻联播播音员康辉哪里人 河北新闻联播李耀阳主持什么节目 主持人康辉的年龄 2014年1月30日新闻联播男主播叫什么名字? 新闻联播主持人王宁今年多大岁数了 可以做到主持新闻联播28年零失误,却因贪钱晚节不保,邢质斌现在如何?