dataSource
文章平均质量分 56
Roc Lau
这个作者很懒,什么都没留下…
展开
-
Druid源码分析_03_DruidDriver注册驱动器
好比数据库连接池,各个厂商如oracle,mysql,postregsql等服务商,实现 java.sql.Driver的接口.并且在指定目录Meta-Info/services下按规则声明.程序就会通过加载程序加载进来.原创 2023-06-06 23:22:17 · 262 阅读 · 0 评论 -
Druid源码分析_10_LRUCache
LRU缓存淘汰算法就是一种常用策略。LRU 的全称是,也就是说我们认为最近使用过的数据应该是是「有用的」,很久都没用过的数据应该是无用的,内存满了就优先删那些很久没用过的数据。在看PsCache相关的源码时,看到了底层的数据结构是LRUCache.最近最少使用算法实现的一个读写都是O(1)的.原创 2023-06-06 23:20:10 · 194 阅读 · 0 评论 -
Druid源码分析_09_PoolPreparedStatements
池化PreparedStatements对象就是我好想说了句废话~但事实就是这样.只对oracle有效。原创 2023-06-06 23:19:53 · 1773 阅读 · 1 评论 -
Druid源码分析_08_DestroyThread扫描回收连接
在DruidDataSource创建后,调用init()方法进行连接池初始化的时候.会创建一个销毁线程.原创 2023-06-06 23:21:06 · 400 阅读 · 0 评论 -
Druid源码分析_07_recycle主动回收连接
该父类抽象了回收方法的定义,可扩展让不同具现化的数据源实现// DriudDataSource继承了父类DruidAbstractDataSource的抽象方法,子类具体实现了该方法 protected abstract void recycle(DruidPooledConnection pooledConnection)原创 2023-06-06 23:20:47 · 257 阅读 · 0 评论 -
Druid源码分析_06_testOnBorrow、testOnReturn、testWhileIdle属性
mysql默认使用ping模式,可以通过设置系统属性System.getProperties().setProperty(“druid.mysql.usePingMethod”, “false”)更改为sql模式用来检测连接是否有效的sql,要求是一个查询语句,常用select ‘x’。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。默认:SELECT 1单位:秒,检测连接是否有效的超时时间。原创 2023-06-06 23:18:37 · 2215 阅读 · 0 评论 -
Druid源码分析_05_initialSize初始化连接
/ 使latch的值减1,如果减到了0,则会唤醒所有等待在这个latch上的线程 initedLatch . countDown();for(;;) {// 中断死循环 break;try {// true代表不允许创建 boolean emptyWait = true;// 开始各种创建连接池的判断 if(createError!// 如果创建时没发生错误 并且 当前池子里也没有链接 并且 丢弃链接的数量大于0 emptyWait = false;原创 2023-06-06 23:19:22 · 401 阅读 · 0 评论 -
Druid源码分析_04_getConnectionDirect连接池获取链接
if(sqlFile!= null) {= null) {} try {//validConnectionChecker属性是init方法中对各数据库驱动进行初始化的有效性检查实现类 if(validConnectionChecker!= null) {//对连接进行有效性检查 boolean valid = validConnectionChecker . isValidConnection(conn , validationQuery , validationQueryTimeout)原创 2023-06-06 23:17:37 · 333 阅读 · 0 评论 -
Druid源码分析_02_init初始化
构造完DruidDataSource方法后,调用dataSource.getConnection() 进入真正初始化connection pool的流程。上一篇文章介绍了DruidDataSource的构造方法,但是构造方法并没有初始化连接池,那么Druid是在什么时候初始化了连接池呢。原创 2023-06-06 23:15:35 · 223 阅读 · 0 评论 -
Druid源码分析_01_DruidDataSource
Druid框架的整个核心知识点在于如何维护数据库连接池,其中如何管理Druid连接池(创建,回收,销毁)的过程值得学习,而学习这些知识,离不开对DruidDataSource类的深入研究。原创 2023-06-06 23:13:34 · 363 阅读 · 0 评论