Javajdbc数据库连接池总结.pdf

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库连接池ppt:Java jdbc数据库连接池整 理总结 疯狂代码 http://CrazyC/ ĵ http:/CrazyC/BlogDigest/Article74573.html 1. 引言   近年来随着Internet/Intranet建网技术飞速发展和在世界范围内迅速普及计算机   应用已从传统桌面应用转到Web应用基于B/S(Browser/Server)架构3层开发模式逐渐取代 C/S(Client/Server)架构开发模式成为开发企业级应用和电子商务普遍采用技术在Web应用开发早期主要使用 技术是CGI﹑ASP﹑PHP等的后Sun公司推出了基于Java语言Servlet+Jsp+JavaBean技术相比传统开发技术它 具有跨平台﹑安全﹑有效﹑可移植等特性这使其更便于使用和开发   Java应用访问数据库基本原理   在Java语言中JDBC(Java DataBase Connection)是应用和数据库沟通桥梁,   即Java语言通过JDBC技术访问数据库JDBC是种“开放”方案它为数据库应用开发人员﹑数据库前台工具 开发人员提供了种标准应用设计接口使开发人员可以用纯Java语言编写完整数据库应用JDBC提供两种API分别 是面向开发人员API和面向底层JDBC驱动API底层主要通过直接JDBC驱动和JDBC-ODBC桥驱动实现和数据库 连接   般来说Java应用访问数据库过程(如图1所示)是   ①装载数据库驱动;   ②通过JDBC建立数据库连接;   ③访问数据库执行SQL语句;   ④断开数据库连接 border=0 alt= / 图1 Java数据库访问机制   JDBC作为种数据库访问技术具有简单易用优点但使用这种模式进行Web应用   开发存在很多问题:首先每次Web请求都要建立次数据库连接建立连接是个费时活动每次都得花费 0.05s~1s时间而且系统还要分配内存资源这个时间对于次或几次数据库操作或许感觉不出系统有多大开销可是 对于现在Web应用尤其是大型电子商务网站WebSite同时有几百人甚至几千人在线是很正常事在这种情况下频 繁进行数据库连接操作势必占用很多系统资源网站WebSite响应速度必定下降严重甚至会造成服务器崩溃不是 危言耸听这就是制约某些电子商务网站WebSite发展技术瓶颈问题其次对于每次数据库连接使用完后都得断开 否则如果出现异常而未能关闭将会导致数据库系统中内存泄漏最终将不得不重启数据库还有这种开发不能控制 被创建连接对象数系统资源会被毫无顾及分配出去如连接过多也可能导致内存泄漏服务器崩溃 ;   数据库连接池(connection pool)工作原理   1、基本概念及原理 由上面分析可以看出问题根源就在于对数据库连接资源低效管理我们知道   对于共享资源有个很著名设计模式:资源池(Resource Pool)该模式正是为了解决资源频繁分配﹑释放所造 成问题为解决上述问题可以采用数据库连接池技术数据库连接池基本思想就是为数据库连接建立个“缓冲池 ”预先在缓冲池中放入定数量连接当需要建立数据库连接时只需从“缓冲池”中取出个使用完毕的后再放回去 我们可以通过设定连接池最大连接数来防止系统无尽和数据库连接更为重要是我们可以通过连接池管理机制监 视数据库连接数量﹑使用情况为系统开发﹑测试及性能调整提供依据连接池基本工作原理见下图2 border=0 alt= / 图2 连接池基本工作原理   2、服务器自带连接池   JDBCAPI中没有提供连接池思路方法些大型WEB应用服务器如BEAWebLogic和IBMWebSphere等提供了 连接池机制但是必须有其第 3方专用类思路方法支持连接池使用方法   连接池关键问题分析   1、并发问题   为了使连接管理服务具有最大通用性必须考虑多线程环境即并发问题这个问题相对比较好解决Java语言自 身提供了对并发管理支持使用synchronized关键字即可确保线程是同步使用思路方法为直接在类思路方法前面 加上synchronized关键字如 public synchronized Connection getConnection()   2、多数据库服务器和多用户

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档