![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码学习
ColdFireMan
这个作者很懒,什么都没留下…
展开
-
【源码分析】HashMap的put(K k,V v)方法
put方法调用内部的另一个方法并直接返回public V put(K key, V value) { return putVal(hash(key), key, value, false, true);}putVal方法的源码分析final V putVal(int hash, K key, V value, boolean onlyIfAbsent,原创 2017-06-15 14:02:46 · 1379 阅读 · 0 评论 -
【HikariCP】【HikariDataSource】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPHikariDataSource成员变量private final AtomicBoolean isShutdown = new AtomicBoolean();线程安全的连接池是否关闭的标识符private fin...原创 2019-06-12 13:57:59 · 4373 阅读 · 0 评论 -
【HikariCP】【SuspendResumeLock】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPSuspendResumeLock数据库连接池暂停恢复锁。如果hikari配置中设置isAllowPoolSuspension为true,那么就会在HikariPool中实例一个暂停恢复锁。空锁public static f...原创 2019-06-17 14:33:37 · 685 阅读 · 0 评论 -
【HikariCP】【ConcurrentBag】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPConcurrentBag这个是HikariCP的核心功能类,作者在注释中也详细说明了这个类的作用/** * This is a specialized concurrent bag that achieves superi...原创 2019-06-17 11:34:44 · 1121 阅读 · 0 评论 -
【HikariCP】【HikariConfig】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPHikariConfig常量常量基本都是一些参数的默认值//随机生成线程池名称时使用private static final char[] ID_CHARACTERS = "0123456789abcdefghijklmn...原创 2019-06-11 15:08:45 · 3840 阅读 · 0 评论 -
【HikariCP】【FastList】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPFastListFastList和ArrayList的实现基本一致,但是它主要的改动点是:去掉range checking(边界检查)删除时数组从后往前遍历查找元素不常用的方法没有重写直接抛出UnsupportedOpe...原创 2019-06-11 14:43:13 · 394 阅读 · 0 评论 -
【HikariCP】【数据库连接池常见参数】
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCP数据库连接池常见参数无论用什么数据库连接池,在配置数据库的时候还需要配置一大堆连接池参数,在Hikari的源码中也有很多的设置参数,那么每一个参数的实际意义是什么提前学习一下很有必要。我之前都是按照网上或者是其他项目的配置文件复...原创 2019-06-11 14:42:36 · 1766 阅读 · 1 评论 -
【HikariCP】【PoolEntry】源码学习
Hikari目前已经是springboot的默认数据库连接池,并且以高效和轻量著称,因为代码量比较少,所以可以阅读一下,学习一下,github地址:HikariCPPoolEntry实现了IConcurrentBagEntry接口,可以共享的连接,是连接池里的单个连接实体。成员变量private static final AtomicIntegerFieldUpdater stat...原创 2019-06-20 10:56:02 · 540 阅读 · 0 评论 -
【源码分析】HashMap的数据结构
之前有研究Java源码中HashMap的put()方法的实现,后来又看了HashMap的整体数据结构,记录一下什么是HashMap经常用到HashMap,用来存储数据,在某些框架中可以替代javabean,主要特点如下:key-value形式的键值对非线程安全的存储数据的数据和插入顺序无关其中和HashMap差不多但是是线程安全的类是HashTable,但是很少用,一般都是用Concurr原创 2017-08-22 19:56:50 · 313 阅读 · 0 评论 -
【HikariCP】【异常汇总】
You need to run the CLI build and you need target/classes in your classpath to run.这个错误是在拉下来源代码后新建一个类测试获取连接的时候抛出的错误。HikariConfig config = new HikariConfig();config.setJdbcUrl("jdbc:mysql://localh...原创 2019-06-18 10:55:22 · 1048 阅读 · 0 评论