`
zithan
  • 浏览: 180172 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

几个主流的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/)

分享到:
评论

相关推荐

    数据库连接池资源包(c3p0 , dbcp,druid连接池)

    本资源包包含三个主流的数据库连接池实现:c3p0、dbcp和Druid。它们各有特点,适应不同的应用场景。 1. **c3p0**:全称为Com形3P0,是由Miquel Arquero开发的一个开源的JDBC连接池。c3p0提供了完善的连接池管理和...

    java数据库连接池-bonecp java源码

    Java数据库连接池(Database Connection Pool)是Java应用中用于管理数据库连接的重要技术,它通过复用已存在的数据库连接,减少了创建和销毁连接的开销,从而显著提升了应用程序的性能和效率。BoneCP是一款高效的...

    数据库连接池jar包.zip

    在实际应用中,使用Druid连接池的步骤通常包括以下几个部分: 1. **引入依赖**:将`druid-1.0.15.jar`添加到项目的类路径中,如果是Maven项目,则在pom.xml中添加对应的依赖。 2. **配置Druid**:创建一个配置文件...

    开源数据库连接池

    在这个压缩包“开源数据库连接池”中,我们找到了几个主流的Java数据库连接池实现,包括c3p0、DBCP等,以及与JDBC事务控制相关的PPT资料。以下将详细介绍这些内容。 首先,c3p0是一个开源的JDBC连接池,由Miquel ...

    JSP数据库连接池的研究与实现(源代码+论文).zip

    **三、主流的数据库连接池组件** 1. **C3P0**:这是一个开源的JDBC连接池,提供了比DBCP更丰富的配置选项和更好的性能。 2. **Apache DBCP**:Apache软件基金会提供的数据库连接池,简洁易用,适合小型项目。 3. ...

    发布一个自己写的数据库连接池(测试),附带源码,非常好

    "Magus Pools"数据库连接池的实现可能包括以下几个核心功能: 1. **连接初始化**:在应用程序启动时,根据配置参数预先创建一定数量的数据库连接,并将它们存储在连接池中。 2. **连接获取与释放**:当应用程序需要...

    c3p0数据连接池

    c3p0 是一个成熟且高性能的 JDBC 连接池实现,它最初是作为 Hibernate 的一部分被分发的,旨在为企业级 J2EE 应用提供高效的数据源管理方案。 #### 使用场景 - **兼容性**: c3p0 提供了兼容 JDBC 驱动管理和 `java....

    主流数据源配置信息

    连接池的运行机制可以分为以下几个步骤: 1. **初始化阶段**:系统启动时,连接池会根据配置预先创建一定数量的数据库连接。 2. **获取连接**:当应用程序发起数据库访问请求时,连接池会检查是否有空闲连接可供...

    Java工程师不得不看的几千份代码

    9. **Spring框架**:Spring是Java企业级应用的主流框架,涵盖依赖注入、AOP、数据库操作等多个方面。代码中可能包含Spring MVC、Spring Boot、Spring Cloud等子项目的实战案例。 10. **数据库操作**:Java与数据库...

    C3P0 Jar包

    C3P0是一款开源的Java连接池,全称为CompoSQLPool,主要用于管理数据库的连接。在Java应用程序中,数据库连接的创建和销毁是相对耗时的操作,因此使用连接池可以显著提高应用性能,减少系统资源的浪费。C3P0提供了...

    图书管理系统java版

    在Java编程语言中,图书管理系统的开发通常涉及以下几个关键技术点: 1. **MVC设计模式**:模型-视图-控制器(Model-View-Controller)架构是Java Web开发中常用的设计模式,用于分离业务逻辑、数据处理和用户界面...

    Druid源码(druid-1.2.8.tar.gz)

    Druid是阿里巴巴开源的一个强大、灵活且高性能的Java数据库连接池组件。它提供了监控、SQL解析、执行性能统计等多种功能,广泛应用于各种Java企业级项目中。Druid-1.2.8版本源码的分析可以帮助我们深入理解其内部...

    MLDN Java Web 开发实战经典源码李兴华源代码

    4. **JNDI服务**:Java Naming and Directory Interface用于查找和管理网络资源,常用于Java EE环境中的资源定位,如数据库连接池配置。 5. **过滤器与监听器**:Filter和Listener是Java Web中的两大组件,过滤器...

    libvirt-java0.4.7

    在libvirt-java 0.4.7版本中,主要包含以下几个核心组件: 1. **连接管理**:libvirt-java提供了对远程和本地libvirt守护进程的连接管理。开发者可以通过`Libvirt`类建立和关闭连接,获取虚拟化平台的信息,并进行...

    Instant Messaging in Java

    9. **性能优化**:处理高并发场景下的性能问题,如连接池管理、心跳机制等。 10. **测试与调试**:使用合适的工具进行测试,如 Wireshark 抓包分析 XMPP 流量,JMX 监控服务器性能等。 "Manning - Instant ...

    JAVA WEB编程从入门到实践2

    在这个"JAVA WEB编程从入门到实践2"的学习资源中,我们可以深入探讨以下几个关键知识点: 1. **Java基础知识**:作为Java Web编程的基础,首先需要掌握Java语言的基本语法、面向对象编程概念以及异常处理。这是理解...

    Java的SSM框架最强整合的笔记

    从提供的文件内容可以看出,整合SSM框架的笔记大体分为以下几个步骤: 一、搭建环境 - 创建数据库,设计表结构。 - 创建Maven工程,包括父工程(ssm_parent)以及子模块(ssm_web、ssm_service、ssm_dao、ssm_...

    基于Java实现的排课系统.zip

    在Java技术栈中,排课系统可能涉及以下几个关键知识点: 1. **Java基础**:作为项目的编程语言,Java的基本语法、面向对象编程(OOP)概念、异常处理和集合框架(如ArrayList、HashMap等)都是必要的。开发者需要...

Global site tag (gtag.js) - Google Analytics