• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

c3p0连接池

这个c3p0连接池起到一个什么作用?为什么后端框架里要用连接池而不是直接去链接数据库呢,?而连接池中的私有属性谁能帮忙具体解释一下。。。谢谢啦。。。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

这种连接“汇集”起来的技术基于这样的一个事实:对于大多数应用程序,当它们正在处理通常需要数毫秒完成的事务时,仅需要能够访问JDBC连接的1个线程。当不处理事务时,这个连接就会闲置。相反,连接池允许闲置的连接被其它需要的线程使用。事实上,当一个线程需要用JDBC对一个GBase或其它数据库操作时,它从池中请求一个连接。当这个线程使用完了这个连接,将它返回到连接池中,这样这就可以被其它想使用它的线程使用。当连接从池中“借出”,它被请求它的线程专有地使用。从编程的角度来看,这和用户的线程每当需要一个JDBC连接的时候调用DriverManager.getConnection()是一样的,采用连接池技术,可通过使用新的或已有的连接结束线程。连接池可以极大的改善用户的Java应用程序的性能,同时减少全部资源的使用。连接池主要的优点有:减少连接创建时间虽然与其它数据库相比GBase提供了较为快速连接功能,但是创建新的JDBC连接仍会招致网络和JDBC驱动的开销。如果这类连接是“循环”使用的,使用该方式这些花销就可避免。简化的编程模式当使用连接池时,每一个单独的线程能够像创建了一个自己的JDBC连接一样操作,允许用户直接使用JDBC编程技术。受控的资源使用如果用户不使用连接池,而是每当线程需要时创建一个新的连接,那么用户的应用程序的资源使用会产生非常大的浪费并且可能会导致高负载下的异常发生。注意,每个连到GBase的连接在客户端和服务器端都有花销(内存,CPU,上下文切换等等)。每个连接均会对应用程序和GBase服务器的可用资源带来一定的限制。不管这些连接是否在做有用的工作,仍将使用这些资源中的相当一部分。连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,如果超过该水平,应用程序将崩溃而不仅仅是变慢。来自百度百科

使用道具 举报

使用连接池是因为:
每次都新建一个Connection对象很耗时,因为建立一个socket通信,建完之后close又很浪费。

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!