![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
#源码解析
老衲の少女心
可以写不出一行高深的代码,但是写出来的每一行的代码都必须是规范的代码
展开
-
【源码解析】HashMap源码跟进(红黑树的实现)
HashMap中红黑树的定义和它内部的方法 static final class TreeNode<K,V> extends LinkedHashMap.Entry<K,V> { TreeNode<K,V> parent; //父亲节点 red-black tree links TreeNode<...原创 2020-04-25 23:03:41 · 300 阅读 · 0 评论 -
【源码解析】hashMap源码跟进
hashMap的实现原理 Java8以前底层数据结构:数组+链表。 Java8及以后底层数据结构:数组+链表+红黑树。默认情况下链表长度超过8变成红黑树(整个hashMap元素数量超过64),红黑树节点树小于6变回链表。 hashMap是如何解决hash冲突的问题的 如果发生了碰撞,新添加的元素将以链表的方式链接到后面。 如果链表长度超过阀值,就把链表转成红黑树。 如果链表...原创 2020-04-25 17:03:25 · 144 阅读 · 0 评论 -
【源码解析】ArrayList源码解析
存储特性 – 有序且可重复 存储元素,底层 Object 数据,数组不会对元素做判断,所以可重复,基于数组下标的连续存储,所以有序 数组容量一旦定义,就不能更改,可以扩容 初始容量 – 默认情况下,arrayList初始大小为 0 存储满后 – 扩容大小是原来的1.5倍 源码add方法 public class ArrayList<E> extends AbstractList&l...原创 2020-03-31 21:13:42 · 123 阅读 · 0 评论