JDK源码
Weikunkun_
凡事有交代,件件有着落,事事有回音
展开
-
CopyOnWriteArrayList源码解读
CopyOnWriteArrayList源码解读 依赖 字段&属性 // 用于修改数组的时候加锁 final transient ReentrantLock lock = new ReentrantLock(); // 真正存储元素的地方 只能通过get set访问 // 使用volatile修饰 保证可见性(一个线程的修改 对其他线程可见) private transient volatile Object[] array; final Object[] getArray() {原创 2020-07-07 20:18:21 · 166 阅读 · 0 评论 -
HashMap源码解读
HashMap 源码解读 前言 HashMap相较于之前的ArrayList和LinkedList,其理解上还是稍微有一些难度,其底层的实现是散列表, 散列表对于哈希冲突的解决方式有如下两种(开放寻址法, 链表法): 开放寻址法 以下几种经典方法为常见方法 1. 有线性探测 hash(key)+0、hash(key)+1、hash(key)+2… 2. 二次探测 hash(key)+0, hash(key)+1^2, hash(key)+2^2… 3. 双重散列 第一次根据hash()函数计算得到的存储原创 2020-07-07 20:14:27 · 288 阅读 · 1 评论