Java极客 | 作者 / 铿然一叶
这是Java极客的第 55 篇原创文章
1.本章目的
了解池资源的状态,以及状态如何变迁,用于池化资源设计参考。
2.HikariPool资源核心类回顾
HikariPool资源相关的类如下:
类说明:
类
职责
HikariPool
资源池,客户端资源操作的入口。
ConcurrentBag
通用的并发包工具。
CopyOnWriteArrayList
一个列表,用于存储资源,也就是PoolEntry。其特点是读不加锁,写操作加锁,提高并发性能。
PoolEntry
资源封装类,封装了Connection,资源的状态记录在这个类上。
Connection
真正要适用的资源,数据库连接。
3.资源状态
在PoolEntry上实际有两个状态或者说属性,分别是:
3.1 state
state用于声明资源是否可用,其状态变化如下:
状态
何时变化
Not In Use
1.连接池初始化时
2.释放资源回池时
3.出借资源,资源不够时
In Use