JDBC连接池

1.线程池

线程池是类似于操作系统中缓冲区的概念

先启动若干数量的线程并使其进入睡眠状态,当客户端发送一个请求时,线程池中就会唤醒一个线程进行处理 ,处理结束后该线程又会再次进入休眠状态。

线程池有什么用

当处理小规模应用时,为每一个请求单独创建一个线程是很方便的,因为并发量并不大。

当处理大规模应用时,为每一个请求单独创建一个线程将会变得非常耗费CPU内存和时间,甚至会带来难以预料的后果,这时使用线程池就能有效地解决此类问题,保证每个请求都能够有一个线程来处理的同时也能保证CPU的高性能。

2.DB连接池(数据库连接池)

DB连接池就是保存了很多数据库连接对象的对象池。

和上文一样,如果对应一个物理数据库都用一个数据库连接对象进行连接,每次操作都打开一个物理连接,使用后再关闭连接,这样会使系统性能十分低下。

在应用程序启动时建立若干的数据库连接,并将这些连接组成一个连接池,由应用程序动态的对池中的连接进行申请使用和释放。

如果并发请求超过了连接池中的连接数,那么就会再请求队列中进行排队等待,并且应用程序可以通过当前状况动态改变连接数。

目的

尽可能的重复利用了消耗内存的资源,节省了大量内存,同时也提高了服务效率和程序运行效率,同时能够根据自身管理机制来监视数据库连接的数量等。

最小连接数:连接池保持的最小连接数

最大连接数:连接池中能申请的最大连接数

空闲连接

长时间连接时,有一个最大连接时间,超过该时间后就会对资源进行回收。

有无连接池对比

 数据库连接池小结

负责分配、管理和释放数据库连接

允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个

释放超过最大空闲时间的数据库连接,避免数据库连接遗漏

明显提高了对数据库操作的性能

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值