`
Dustin
  • 浏览: 314658 次
  • 性别: Icon_minigender_1
  • 来自: 广州/成都
社区版块
存档分类
最新评论

使用DataSource的连接池何以提高性能?

阅读更多

  最初发表在这里。 

 

   连接池为什么能够提高性能呢? 打个比喻吧:
     从前有一条河,河水弯弯向东流。河东有个村庄叫河东村,河西有个小镇叫河西镇,河东村的村民经常要跨过小河到河西镇去购买些日常用品,但是小河上没有桥啊,怎么办呢?村民只好每次过河的时候,千辛万苦,披荆斩棘,搭起一座独木桥,等买完东西回来的时候,再把桥给拆了。
   这样过了许多年,村民们慢慢觉得这样不划算啊,每次河都要花那么大力气搭桥,当初何必把桥拆了呢。但想想这也不是办法,如果个个都不“过河拆桥”,那么用不了几年,河上不就全是破破破烂烂的独木桥吗,严重影响市容市貌啊。怎么办呢?大家想啊想,有一天终于想出个办法来了,成立一个独木桥管理委员会,专门管理在修桥事务,以供村民使用 。因为技术限制,大家造出来的桥只能一次只能供一个人使用,而且造型也不漂亮,因此委员会制定了一个策略:
   1、过河的人要在委员会处领取“桥梁使用证”,一证一桥,用完需将证件交回给委员会。
   2、委员会事先造好一定数量的桥,如10座,以供人们使用。
   3、当有人需要过桥向委员会索取证件时,委员会检查当前是否有空闲的桥,有则派发使用证,如果当前造的桥都有人用,则检查是否桥的数量已经达到上限(20座),如果没有则马上派人新造一座桥,并向该村民派发通行证。
   4、如果桥的数量已经达到预先设定的上限(20座)了,那么,委员会只好让申请人暂时等候,等前面的人回来交还使用证再给该村民派发。
   5、如果某些桥在一定时间内没人使用,委员会就会它拆掉。
  这样一来,村民们再也不用重复建设了,大大减少了对河岸树木的毁坏,保护了植被,杜绝了水土流失,于是风调雨顺,人们过上了快乐的生活。
    河东村就是我们的应用,河西镇是数据库。连接池就像那个委员会吧,那个“桥梁使用证”就是DataSource返回的Connection了。那些独木桥就是物理连接,每台机器是有限制的,而且造价十分“昂贵”。村民们用完桥梁后,只能把证件交还给委员会,绝对不能把桥给拆了。
    如果不用DataSource,我们直接用DriverManager来实现自己的连接池可以吗?可以,但必须首先解决一个问题:怎样防止村民在交还证件的时候顺便把桥给拆了(都是用Connection.close()).而且,有资料说直接使用DriverManager建立连接池是没有效果的,因为通过DriverManager的getConnection方法取得是数据库的物理连接,而这跟DataSource中不一样,是没有经过driver程序的优化的。
   因此,我们还是尽量用DataSource吧,好处多多。

分享到:
评论

相关推荐

    连接池案例 连接池案例

    在IT行业中,数据库连接池是优化数据库访问性能和资源管理的重要技术。连接池的基本思想是重用已建立的数据库连接,避免频繁创建和销毁连接带来的性能开销。本篇文章将深入探讨连接池的概念、工作原理以及如何在实际...

    tomcat连接池与阿里Druid连接池

    Tomcat 连接池和阿里 Druid 连接池都是常用的数据库连接池实现,但是它们有不同的特点和使用场景。下面是它们的比较: |特点|Tomcat 连接池|阿里 Druid 连接池| | --- | --- | --- | |性能|高效|高效| |可靠性|可靠...

    java实现连接池

    Java实现连接池是一种提高数据库操作效率的技术,它通过管理和重用数据库连接,避免了频繁创建和销毁连接导致的性能开销。在Java中,我们通常使用第三方库来实现连接池,如Apache的DBCP、C3P0,或者更现代的HikariCP...

    DataSource接口介绍与使用

    * 高性能:DataSource对象可以提供高性能的连接方式,可以减少新创建连接的数目,提高运行的性能。 * 易于配置:DataSource对象可以由系统管理员或者有相应权限的人来配置,减少了应用程序设计者的工作量。 * 灵活的...

    Druid简单高性能MySQL连接池

    总结来说,Druid是一款强大的数据库连接池组件,它以其高性能、监控完善和易扩展性深受Java开发者喜爱。在实际应用中,通过配置`DruidDataSource`和相应的配置文件,可以轻松实现对MySQL数据库的高效管理。

    使用Druid数据连接池连接PostgreSQL简单例子

    本教程将详细介绍如何在Java项目中使用Druid数据连接池连接PostgreSQL数据库,以实现一个简单的测试环境。 首先,我们需要了解Druid数据连接池的基本概念。Druid提供了一种高效、灵活的数据库连接管理方式,它可以...

    dataSource数据库连接池的使用)

    ### 数据库连接池的使用与配置详解 #### 一、引言 在现代Web应用程序开发过程中,数据库连接池技术的应用非常普遍。它能够显著提高应用性能,并减少资源消耗。本文将详细介绍如何在Tomcat 5.0.1环境中配置和使用...

    详解SpringBoot配置连接池

    此外,还可以根据需求配置其他的Druid属性,如初始化大小、最大活跃连接数、最小空闲连接数、超时时间等,以优化连接池的性能。 总之,SpringBoot通过自动配置使得数据库连接池的配置变得简单,而Druid作为一款强大...

    tomcat连接池的配置与性能测试

    `Tomcat连接池`是Java应用服务器中用于管理数据库连接的一种机制,它的目的是提高数据库连接的复用性,减少创建和销毁连接的开销,从而提升应用的性能和响应速度。Tomcat内置了多种连接池实现,如Apache的Commons ...

    JDBC数据源连接池的配置和使用示例

    为了提高性能和资源利用率,开发人员通常会使用数据源连接池。本篇文章将详细讲解JDBC数据源连接池的配置和使用,以帮助你更好地理解和应用这一关键技术。 ### 1. 什么是数据源连接池 数据源连接池(DataSource或...

    学习有关连接池的使用

    通过合理配置连接池参数,可以有效地提高数据库操作的效率,同时,使用JNDI能方便地在应用中查找和使用数据源,简化了数据库连接的管理。在实际开发中,理解并掌握这些知识点对于提升应用程序的性能和可维护性至关...

    spring中 连接池的使用

    在Spring框架中,数据库连接池是管理数据库连接的关键组件,它能有效地提高应用程序的性能和资源利用率。在上述内容中,提到了两种常用的连接池实现:Apache的DBCP(BasicDataSource)和C3P0(ComboPooledDataSource...

    数据源和连接池

    数据库连接池技术对于提高Web应用的性能至关重要。通过合理配置连接池,可以有效减少数据库连接的创建与销毁次数,从而提升整体系统的响应速度。此外,选择合适的连接池实现(如DBCP、C3P0或HikariCP)以及正确配置...

    glassfish建立连接池

    连接池是一种提高应用程序性能和可靠性的技术,它可以将多个数据库连接组合成一个池,供应用程序使用。这样可以减少应用程序创建和销毁数据库连接的开销,从而提高应用程序的性能和可靠性。 GlassFish 连接池配置...

    使用连接池技术时的配置

    使用连接池技术时的配置 在本文中,我们将讨论使用连接池技术时的配置,特别是关于 Tomcat、MySQL 和 Eclipse 的...通过以上配置,我们可以使用连接池技术来管理我们的数据库连接,从而提高应用程序的性能和可扩展性。

    数据库连接池代码实现

    数据库连接池是现代应用程序开发中的重要组成部分,尤其...在实际开发中,我们还需要考虑连接池的监控和调优,比如监控连接池的使用情况,根据性能指标调整参数,以及处理异常和错误情况,以保证系统的稳定性和高效性。

    druid连接池

    它在Java环境中被广泛应用于Web应用服务器,以优化数据库资源的管理,提高系统的性能和稳定性。在本压缩包中,包含的是`druid`项目的源代码和相关jar包,这为我们提供了深入理解其工作原理和定制功能的机会。 首先...

    java连接池jtds连接数据库

    它通过预先创建并维护一定数量的数据库连接,避免了每次应用需要连接数据库时的开销,提高了系统的性能和响应速度。在Java中,有许多库可以实现连接池功能,如C3P0、DBCP、HikariCP以及我们今天要讨论的jTDS。 jTDS...

    JSP数据库连接池连接实例

    在IT行业中,数据库连接池是优化应用程序性能的关键技术之一,特别是在使用Java服务器页面(JSP)进行Web开发时。...这个例子中的"数据库连接池连接语句"可能包含了具体的配置示例,你可以参考其内容进行实践。

Global site tag (gtag.js) - Google Analytics