源码分析
Coder_Qiang
这个作者很懒,什么都没留下…
展开
-
HashMap源码分析(一)
HashMap源码分析(1)jdk1.8 先看hashMap的用法:HashMap hashMap = new HashMap();hashMap.put("1","1");初始化第一步new一个HashMap,看这个HashMap的无参构造方法:public HashMap() { this.loadFactor = DEFAULT_LOAD_FACTOR; // a...原创 2018-11-21 09:55:52 · 1048 阅读 · 0 评论 -
HashMap源码分析(二)
HashMap源码分析(二)JDK1.8从上一篇HashMap源码分析(一)我们可以看出上图的数据结构,但上次我就插入一个值,源码中没有分析到形成链表的机构,今天我们来分析一下怎么形成链表的。先看测试代码:HashMap hashMap = new HashMap();hashMap.put("Aa","1");hashMap.put("BB","1&quo原创 2018-11-21 14:16:12 · 214 阅读 · 0 评论 -
HashMap源码分析(三)
HashMap源码分析(三)JDK1.8从上一篇HashMap源码分析(一),HashMap源码分析(二)我们了解了HashMap基本的数据结构,也了解了怎么生成链表的,同时我们也知道HashMap内部是通过固定长度数组进行存储的,接下来我们再看一下怎么扩容的。先看一下测试代码:HashMap hashMap = new HashMap();hashMap.put("1","1");...原创 2018-11-21 22:38:20 · 247 阅读 · 0 评论 -
HashMap源码分析(四)
HashMap源码分析(四)JDK1.8从上几篇HashMap源码分析(一),HashMap源码分析(二),HashMap源码分析(三)我们了解了HashMap基本的数据结构,也了解了怎么生成链表的,也知道怎么动态扩容了,但这几片有几处我们当时是忽略的,比如当生成的链表个数大于8的时候。接下来我们就看一下大于8,具体是做哪些操作。先看测试代码://为了测试,编写一个实体类,重写了has...原创 2018-11-22 17:16:15 · 238 阅读 · 0 评论