JAVA源码
「已注销」
我是一个快乐的人。
展开
-
ArrayList源码阅读
// 序列化ID private static final long serialVersionUID = 8683452581122892189L; // 默认初始化容量 private static final int DEFAULT_CAPACITY = 10; // 空数组 private static final Object[] E...原创 2019-05-01 23:05:38 · 131 阅读 · 0 评论 -
Fail-Fast机制
1、什么是Fail-Fast(快速失败机制)快速失败”也就是fail-fast,它是Java集合的一种错误检测机制。当多个线程对集合进行结构上的改变的操作时,有可能会产生fail-fast机制。例如:假设存在两个线程(线程1、线程2),线程1通过Iterator在遍历集合A中的元素,在某个时候线程2修改了集合A的结构(是结构上面的修改,而不是简单的修改集合元素的内容),那么这个时候程序就会抛出...原创 2019-05-01 23:12:11 · 188 阅读 · 0 评论 -
LinkedList集合源码
节点的基本结构: private static class Node<E> { E item; //表示该节点包含的值 Node<E> next; //表达当前节点的下一个节点 Node<E> prev; //表示当前节点的上一个节点 Node(Node<E> prev, E...原创 2019-05-02 11:00:15 · 118 阅读 · 0 评论 -
JDK1.8 HashMap源码解析
// 序列号 private static final long serialVersionUID = 362498820763181265L; // 默认的初始容量大小是16 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //hashmap的最大容量为2的...原创 2019-05-02 17:58:56 · 117 阅读 · 0 评论 -
JDK1.8ConcurrentHashMap源码分析
// table的最大容量 private static final int MAXIMUM_CAPACITY = 1 << 30; // 默认table的大小,表的大小必须为2的幂次方 private static final int DEFAULT_CAPACITY = 16; // 最大数组大小 static fi...原创 2019-05-03 17:05:57 · 310 阅读 · 0 评论