1.new DruidDataSource并没有创建连接池,初始化数据库的参数

2.getConnection才会初始化连接池,假设初始化,就不会初始化;我个人理解这个设计比较好,就是真正使用的才会创建连接,懒加载机制,避免资源浪费

3.初始化会对数据库的连接参数做一些检查,通过Driver的connect方法去创建实际的数据连接

4.拿到实际的连接会包装下,放到connections这个数组即为连接池;初始化会创建配置的initialSize的数量的连接,类似线程池

5.初始化同时会创建和启动日志线程LogThread,创建线程CreatorThread,销毁线程DestroyThread

6.返回封装过原始连接的Druid连接

posted on 2022-05-11 00:42  柳无情  阅读(264)  评论(0编辑  收藏  举报