连接池概念的引入

连接的效率

JDBC连接我们有两种连接模式:短连接长连接

什么是短连接?
短连接就是创建的Connnection对象的时候,及时的开关连接,每次执行SQL语句之后就关闭连接。

什么是长连接?
长连接就是创建的Connection对象不及时关闭,执行查询语句后不关闭。在多线程时候选择性开关连接,创建连接。

下面是两种办法的性能比较

连接方式优缺点
短连接方式优点:及时关闭,随用随关。 缺点:连接时间比查询时间长,这样开关浪费时间
长连接方式优点:需要关闭时候再关闭,节省反复连接时间。缺点:多线程时候很难控制关闭顺序,以及封锁

那我们有没有办法解决呢?
当然有,我们引入连接池概念

连接池

连接池是集长连接短连接各自的优点。是一个深受程序员喜爱的数据库技术工具。它不仅能自动处理多线程问题。是一个智能化数据库工具

如何理解连接池?

连接池就相当于一个池子。池子里面装着多个连接线路,与连接池交互的就是很多个线程。

连接池会一直保持与数据库服务器保持连接状态(8个小时没有操作数据的话,连接线路可能会被MySQL断掉。但是不用担心:配置XML文件一些反馈参数就好)

我们可以从连接池中取个连接线路。假如我取得的连接线路是线路1。那么在线路1使用完毕后,我们需要将线路1放回池子中。放回池子后其他线程就可以继续使用线路1了。

当然你也可以从连接池取出很多连接线路。注:池子中默认有10条连接线路,如果你更改配置文件,可以加入更多连接线路

如果某个线程没有把线路1放回连接池的话。假如其他线程恰恰要使用线路1的话。那么其他线程就会进入等待状态直到线路1放回到池子中(可以被其他线程使用)

当然你也可以选择不等待线路1,你直接从池子中取用线路2进行使用。但是要记住,连接线路是有上限的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值