
JAVA 集合类源码阅读
文章平均质量分 85
changzhiqiang_
一个单身的程序员,渴望代码无bug
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA8 hashmap源码阅读笔记(红黑树链表)
一:hashmap的13 个成员变量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; -> 数组默认初始容量:16 static final int MAXIMUM_CAPACITY = 1 << 30; -> 数组最大容量2 ^ 30 次方 static final float DEFAULT_LOAD_FACTOR = 0.75f;原创 2017-07-18 22:08:29 · 10645 阅读 · 5 评论 -
JAVA8 linkedhashmap 源码阅读笔记
LinkedHashMap继承HashMapLinkedHashMap底层数据存储算法依旧是hash算法,只是LinkedHashMap通过类似链表连接维持对元素插入顺序的存储HashMap源码解读一:新增的三个成员变量 transient LinkedHashMap.Entry< K,V> head; // 指向头结点的地址 transient LinkedHashMap.Entry< K,V>原创 2017-08-07 08:57:11 · 2703 阅读 · 0 评论 -
JAVA 8 treemap 源码阅读笔记
TreeMap的key允许为空刚开始学习时就被告知treemap的key不能为空!!! 但是 随着学习的深入,自己读源码发现允许为空 大家详细研读此文,本文末尾列举treemap的key为空的案例TreeMap底层采用红黑树(R-B Tree) 数据结构,所以我们先了解红黑树部分逻辑结构在研读TreeMap底层代码。 红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键原创 2017-07-31 21:11:23 · 1071 阅读 · 0 评论 -
ConCurrentHashMap源码详解
HashMap 简述 HashMap 是由于数组+链表组成,数组默认初始容量为 16,Hash 表每次扩容都变为原来的两倍,默认负载因子的大小为0.75(若小于0,抛异常),负载因子是表示一个散列表的空间的使用程度,有这样一个公式:数组容量*负载因子大小=HashMap的容量,如果负载因子是默认的0.75,HashMap(16)的时候,占16个内存空间,实际上只用到了12个,超过12个就扩容(原创 2018-02-09 15:42:03 · 559 阅读 · 0 评论