会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
柳无情
博客园
首页
博问
闪存
新随笔
订阅
管理
1
2
3
4
5
下一页
[置顶]
ReentrantLock之原理解析一
摘要: 原理与概念 1.ReentrantLock原理:多个线程获取锁,一个线程获取到锁,其他线程排队等待锁,并挂起;当获取到锁这个节点释放锁,就会唤醒队伍的头结点。 2.ReentrantLock是个可重入锁,支持公平锁和非公平锁。ReentrantLock默认使用非公平锁,看源码可知。 /** * Cr
阅读全文
posted @ 2020-03-26 21:20 柳无情
阅读(2282)
评论(0)
推荐(0)
编辑
2022年5月21日
Druid源码之DruidXADataSource
摘要: ·1.创建连接,是跟普通连接不一样的,拿的XA的连接 像mysql,是这个com.mysql.jdbc.jdbc2.optional.MysqlXAConnection public static XAConnection createXAConnection(Driver driver, Conn
阅读全文
posted @ 2022-05-21 00:39 柳无情
阅读(683)
评论(0)
推荐(0)
编辑
2022年5月20日
Druid源码之removeAbandanded
摘要: 1.官方解释 当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了。Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接。RemoveAbandanded功能不建议在生产环境中使用,仅用于连接泄露检测诊断 参数说明 removeAbandoned 如果连接泄
阅读全文
posted @ 2022-05-20 00:42 柳无情
阅读(487)
评论(0)
推荐(0)
编辑
2022年5月19日
Druid源码——keepAlive
摘要: 1.keepAlive官方解读 keepAlive false(1.0.28) 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。 2.这个参数是严格保证连接池里的连接都是存活的,但其实不止官方解读那一个地方 D
阅读全文
posted @ 2022-05-19 00:00 柳无情
阅读(3607)
评论(0)
推荐(0)
编辑
2022年5月17日
Druid源码解析之回收连接recycle
摘要: 1.了解recycle方法,要知道连接池connections,假设连接池已经初始化,连接从connections获取的;事务有两种访问模式read only和read write;read only模式不允许写入修改数据和执行ddl语句,同时可以使存储引擎能够进行性能改进 mysql的原文 set
阅读全文
posted @ 2022-05-17 23:21 柳无情
阅读(566)
评论(0)
推荐(0)
编辑
2022年5月16日
Druid之driver怎么注册的,sql执行怎么对应数据库厂商实现的方法
摘要: 1.Sun公司在数据库的链接方式中只定义了接口java.sql.Driver,并未提供对各个数据库产品的链接实现方式,并且要求各数据库厂商在实现java.sql.Driver接口的同时,要将驱动类注册到java.sql.DriverManager中。 1)譬如mysql怎么把驱动类注册到Driver
阅读全文
posted @ 2022-05-16 23:17 柳无情
阅读(171)
评论(0)
推荐(0)
编辑
2022年5月15日
Druid源码解析一连接池对比
摘要: 跑Druid的单元测试 1.连接池参数 private int initialSize = 50; private int minIdle = 3; private int maxIdle = 8; private int maxActive = 50; private String validat
阅读全文
posted @ 2022-05-15 23:48 柳无情
阅读(134)
评论(0)
推荐(0)
编辑
2022年5月14日
Druid之maxIdle,maxActive,minIdle,testWhileIdle,testOnBorrow解读
摘要: 1.maxIdle,maxActive,minIdle参数解读,引用官方,https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98 maxIdle是Druid为了方便DBCP用户迁移而增加的,maxIdle是
阅读全文
posted @ 2022-05-14 23:25 柳无情
阅读(3107)
评论(0)
推荐(0)
编辑
2022年5月13日
Druid——CreateConnectionThread
摘要: CreateConnectionThreadDruid一开始初始化,在init初始化进行连接的创建;这个线程相当于监听,连接不够了,会给这个线程发出信号进行创建,这个线程是一个守护线程 public CreateConnectionThread(String name){ super(name);
阅读全文
posted @ 2022-05-13 23:48 柳无情
阅读(362)
评论(0)
推荐(0)
编辑
Druid——连接池动态调整之连接的淘汰(二)
摘要: 今天加班比较晚,打断点研究了下昨天的疑问点 1.淘汰连接线程不光会去淘汰线程,连接池的连接数量+活跃数量<小于最小闲置数量,会去创建连接满足最小闲置数量,还会去提交创建连接定时任务;目前不是很理解这种设计,是为了提高性能还是其他目的 if (needFill) { lock.lock(); try
阅读全文
posted @ 2022-05-13 00:37 柳无情
阅读(153)
评论(0)
推荐(0)
编辑
2022年5月12日
Druid——连接池动态调整之连接的淘汰
摘要: 1.线程是DestroyTask,方法是shrink 2.现在还未弄清楚疑问点,后续继续研究 1)配置淘汰时间,不去判断哪些连接是否满足淘汰条件,直接把头部的几个放入淘汰数组 if (idleMillis >= minEvictableIdleTimeMillis) { if (checkTime
阅读全文
posted @ 2022-05-12 00:22 柳无情
阅读(287)
评论(0)
推荐(0)
编辑
1
2
3
4
5
下一页