上一页 1 ··· 3 4 5 6 7
摘要: Apache Curator源码地址:https://github.com/apache/curator Apache Curator是什么? 官方是这样介绍的: Apache Curator is a Java/JVM client library for Apache ZooKeeper, a 阅读全文
posted @ 2018-10-25 13:33 shileishmily 阅读(1495) 评论(0) 推荐(0) 编辑
摘要: 之前讲HashMap之Put方法操作有提到过扩容操作,扩容简单理解就是原容器不够大了,需要提供一个更大的容器。而JAVA里数组的扩容也没有更高级的办法,就是创建一个新的数组,然后将旧数组的数据拷贝过来。 看一下扩容的详细流程: 流程讲解: 1)计算新数组Table的newCap(容量),newThr 阅读全文
posted @ 2018-10-25 09:06 shileishmily 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 本文主要通过HashMap构造函数讲解initialCapacity、threshold和loadFactor三个参数的前生今世。 看源码: 构造器源码十分简单,就是初始化几个参数,这里不做过多讲解,下面着重讲initialCapacity、threshold和loadFactor这三个参数: si 阅读全文
posted @ 2018-10-24 16:34 shileishmily 阅读(2599) 评论(0) 推荐(0) 编辑
摘要: HashMap类中有如下put方法(方法体省略): 调用关系: 根据方法调用关系图可以看到putVal方法是HashMap Put操作最关键的方法,在详细分析putVal源码之前,我们先看一下put方法流程图: 流程讲解: 1)计算key的hash值,hash值的计算方法为key的hash值高16位 阅读全文
posted @ 2018-10-24 15:03 shileishmily 阅读(724) 评论(0) 推荐(0) 编辑
摘要: JDK1.8 以前HashMap的实现是 数组+链表 JDK1.8 开始HashMap的实现是 数组+链表+红黑树,如下图: HashMap类中有两个常量: 当链表中节点数量大于等于TREEIFY_THRESHOLD时,链表会转成红黑树。 当链表中节点数量小于等于UNTREEIFY_THRESHOL 阅读全文
posted @ 2018-10-23 15:09 shileishmily 阅读(1303) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7