数据库连接池学习笔记

数据库连接池相关概述

1.背景
  • 实际开发中,当我们需要使用大量生命周期短的连接对象时,频繁的创建和销毁连接对象是非常消耗资源的,针对这种情况,就出现了数据库连接池,在连接池中放一些连接对象,用的时候从里面拿,用完之后在放回去,这样做的好处就是:节约资源,提高效率。
2.概述
  • 数据库连接池也叫DBCP(Data Base Connection Pool),里面定义的是连接对象,用的时候可以从里面拿,用完之后在放回去。
3.分类
  • DBCP:属于Apache软件基金组织的,不能自动回收空闲连接。
  • C3P0:属于Apache软件基金组织的,能自动回收空闲连接,Java框架的底层源码中但凡涉及到数据库连接池内容的,都是使用C3P0.
  • Druid:也叫德鲁伊,属于阿里巴巴公司的产品,采用分布式(事务)结构实现,能更好的兼容大数据框架
4.数据连接池的目的:
  • 不用频繁的创建和销毁链接对象了。而是直接可以从连接池中获取连接对象
  • 只是为了优化频繁创建和销毁对象连接对象这个步骤的,将连接对象从销毁改为自动归还数据库连接池
  • JDBC核心操作步骤并没有被简化
  • 虽然我们把连接对象从销毁该为自动归到连接池中了,但是对于我们代码的整体效率来讲,并没有得到提升,反而下降了。
  • 因为我们现在创建的数据库连接池并没有实现共享,而是只在当前的类中出现了,且每执行一次,都要创建一个连接池,并且我们的连接池默认都有5个连接对象,我们只用1个,其他4个处于闲置的状态,这样我们代码的效率肯定降低了
  • 如何优化这个问题:自定义C3P0Utils工具类,实现数据库连接池对象的共享,即:整个项目公用一个连接池对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值