09 2019 档案

摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程5,连接的回收: //DruidPooledConnection类的close方法 @Override public void close() throws SQLException { if (this.disable) 阅读全文
posted @ 2019-09-22 12:31 是胖虎捏 阅读(742) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程4.2,防止内存泄漏的连接关闭检测: //回收长期未归还的连接(再次说明:该方法仅在removeAbandoned设置为true的情况下触发) public int removeAbandoned() { int remov 阅读全文
posted @ 2019-09-21 21:04 是胖虎捏 阅读(261) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程4.1,连接池瘦身: //连接池瘦身 public void shrink(boolean checkTime, boolean keepAlive) { try { lock.lockInterruptibly(); } 阅读全文
posted @ 2019-09-21 19:57 是胖虎捏 阅读(516) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程4,丢弃连接的守护线程: //连接池瘦身,参考主流程4 public class DestroyConnectionThread extends Thread { public DestroyConnectionThrea 阅读全文
posted @ 2019-09-21 17:15 是胖虎捏 阅读(239) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程3,新增连接的守护线程: //DruidDataSource的内部类,对应主流程3,用来补充连接 public class CreateConnectionThread extends Thread { public Cr 阅读全文
posted @ 2019-09-21 13:10 是胖虎捏 阅读(453) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.4,抛弃连接: //丢弃连接 public void discardConnection(Connection realConnection) { JdbcUtils.close(realConnection); //c 阅读全文
posted @ 2019-09-21 12:46 是胖虎捏 阅读(216) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.3,连接可用性测试: //数据库连接可用性测试 protected boolean testConnectionInternal(DruidConnectionHolder holder, Connection conn 阅读全文
posted @ 2019-09-21 12:23 是胖虎捏 阅读(1340) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.2,真正获取连接的执行: private DruidPooledConnection getConnectionInternal(long maxWait) throws SQLException { //可用性判断 i 阅读全文
posted @ 2019-09-21 12:01 是胖虎捏 阅读(969) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应流程1.1,责任链的执行: //DruidDataSource类里的方法:获取连接 public DruidPooledConnection getConnection(long maxWaitMillis) throws SQ 阅读全文
posted @ 2019-09-21 11:28 是胖虎捏 阅读(260) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本篇为「工具人」文章,建议直接用「ctrl+f」进行查找属性、方法、类名,快速了解其含义和所属类。 主要流程里主要涉及到的类名称、类属性、类方法如下图(淡黄色表示属性,淡蓝色表示方法): 类图 DruidAbstractDataSource 阅读全文
posted @ 2019-09-20 15:53 是胖虎捏 阅读(1422) 评论(1) 推荐(2) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程2,具体用来初始化整个连接池: public void init() throws SQLException { if (inited) { return; //如果已经被初始化过,则终止该方法 } // bug fixe 阅读全文
posted @ 2019-09-18 06:37 是胖虎捏 阅读(730) 评论(0) 推荐(0) 编辑
摘要:所属文章:池化技术(一)Druid是如何管理数据库连接的? 本代码段对应主流程1,具体用来获取一个连接: lic DruidPooledConnection getConnection(long maxWaitMillis) throws SQLException { init(); //初始化,即 阅读全文
posted @ 2019-09-18 05:36 是胖虎捏 阅读(698) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示