美文网首页java相关
数据库连接池Hikaricp源码分析

数据库连接池Hikaricp源码分析

作者: 时间道 | 来源:发表于2018-12-06 18:14 被阅读0次

hikaricp作为公认的高性能数据源组件,值得我们深入的研究其实现方式。
在看源码之前我们先思考几个问题:

  1. 如果我们自己设计一个线程池来管理db连接应该如何设计?
  2. 借助哪些技术可以提高线程池的性能?
  3. 如何维护db的连接?

下面来看hikaricp的实现


设计一个连接池

数据结构

为了性能,自定义数据结构:FastList、ConcurrentBag
主要就是ConcurrentBag使用threadLocal、shareList、等待queue 对获取connnection做了优化。
定时器相关的使用:scheduleWithFixedDelay(Runnable command,long initialDelay, long delay, TimeUnit unit) 前一个任务执行完后,间隔多少秒执行
代理模式的使用
底层库里 inner class的使用
工具类里:PropertyElf、ClockSource
SuspendResumeLock 通过配置文件结合Semaphore来限制获取连接的速度,默认是10000

代理:
HikariProxyConnection 为什么要使用代理来搞呢?
看作者怎么回答的:

相关文章

网友评论

    本文标题:数据库连接池Hikaricp源码分析

    本文链接:https://www.haomeiwen.com/subject/xetacqtx.html