转载自51CTO http://developer.51cto.com/art/201006/207768.htm

51CTO曾经为我们简单的介绍过Java连接池。要了解Java连接池我们先要了解数据库连接池(connection pool)的原理,Java连接池正是数据库连接池在Java上的应用。——我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配﹑释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量﹑使用情况,为系统开发﹑测试及性能调整提供依据。

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。(主页:http://sourceforge.net/projects/c3p0/)

BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/)

DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本分别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时候要看看你用的是什么 JDK 版本了,功能上倒是没有什么区别。(主页:http://commons.apache.org/dbcp/)

Proxool是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动程序增加连接池功能。(主页:http://proxool.sourceforge.net/)

转载于:https://www.cnblogs.com/jqmtony/p/4021642.html

[JavaEE] 了解Java连接池相关推荐

  1. 四个常用的Java连接池

    C3P0.BoneCP.DBCP.Proxool是四个常用的Java连接池,根据环境需求和项目要求选取适当的线程池完成数据库相关操作. C3P0 是一个开放源代码的JDBC连接池,它在lib目录中与H ...

  2. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  3. 几个主流的Java连接池

    要了解Java连接池我们先要了解数据库连接池(connection pool)的原理,Java连接池正是数据库连接池在Java上的应用.--我们知道,对于共享资源,有一个很著名的设计模式:资源池(Re ...

  4. java连接池 dbcp 样例_DBCP数据库连接池的简单使用

    0.DBCP简介 DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目.DBCP通过连接池预先同数据库建立一些连接放在内存中(即连接池中 ...

  5. java连接池的maxIdle该如何配置

    java连接池的maxIdle该如何配置 maxIdle值与maxActive值应配置的接近. 因为,当连接数超过maxIdle值后,刚刚使用完的连接(刚刚空闲下来)会立即被销毁,若maxIdle与m ...

  6. java 连接池 druid_从零开始学 Java - 数据库连接池的选择 Druid

    我先说说数据库连接 数据库大家都不陌生,从名字就能看出来它是「存放数据的仓库」,那我们怎么去「仓库」取东西呢?当然需要钥匙啦!这就是我们的数据库用户名.密码了,然后我们就可以打开门去任意的存取东西了. ...

  7. java 连接池_初探数据库连接池

    参考资料 数据库连接池学习笔记(一):原理介绍+常用连接池介绍 java数据库连接池实现原理 高性能数据库连接池的内幕 1. 为什么要使用连接池 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户 ...

  8. java 连接池实例_功能完善的Java连接池调用实例

    /** * Title: ConnectPool.java * Description: 连接池管理器 * Copyright: Copyright © 2002/12/25 * Company: * ...

  9. java 连接池技术_java数据库连接池技术原理(浅析)

    在执行数据库SQL语句时,我们先要进行数据连接:而每次创建新的数据库的连接要消耗大量的资源,这样,大家就想出了数据库连接池技术.它的原理是,在运行过程中,同时打开着一定数量的数据库连接,形成数据连接池 ...

  10. Java 连接池的工作原理

    什么是连接? 连接,是我们的编程语言与数据库交互的一种方式.我们经常会听到这么一句话"数据库连接很昂贵". 有人接受这种说法,却不知道它的真正含义.因此,下面我将解释它究竟是什么. ...

最新文章

  1. matlab拟合曲线后求导,高手留步:MATLAB五阶拟合函数,求导后离散化,输出结果是星号...
  2. 卧式储罐液位体积计算公式excel_ELL外测式液位计在氢氟酸储罐上的实际应用
  3. deinstall 卸载grid_卸载Oracle 11g的Grid小计
  4. 【STM32】FreeRTOS任务挂起和恢复示例
  5. kafka connect_Kafka Connect在MapR上
  6. C++(STL):22 ---序列式容器queue使用
  7. acdsee扫描没有图像_详解CT图像常见伪影成因及解决方法
  8. 一种全数字实时仿真的安全关键领域解决方案
  9. 【浏览器】浏览器下载CSV文件的方法
  10. 测试面试题集-MySQL数据库灵魂拷问加强版
  11. 五步使用法——搞定XMLHttpRequest
  12. Idea中找不到Java Application 的xml配置文件问题研究
  13. 2019美赛B题PSO算法
  14. 时域分析特征参数的计算代码(Matlab和Qt两种)
  15. 2021Java校招笔试题答案及评分标准
  16. 想做游戏场景建模师,如何拿到高薪资?
  17. 文件操作和IO --- 文件操作
  18. java base64 转图片不现实_BASE64编码的图片在网页中的显示问题的解决
  19. 深度链接(Deeplink)是什么?
  20. [Pycharm插件] 翻译 | Translation

热门文章

  1. 获取用户真实IP以及internalProxies
  2. java.util.stream.DoubleStream
  3. python编程和继承_python面向对象编程-继承与派生
  4. set集合判断集合中是否有无元素_JAVA 集合
  5. 2.5配置自定义HttpMessageConverters
  6. Hibernate的单向1-N关联(三)
  7. [渝粤教育] 武昌理工学院 跨境电商实务 参考 资料
  8. [渝粤教育] 西南科技大学 信息法律法规 在线考试复习资料2021版
  9. Core 提交返回500 问题 记录 来自网上文章
  10. [转]int String 互转的多种方法