源码解析
文章平均质量分 95
源码解析
Kaiz‘s Blog
这个作者很懒,什么都没留下…
展开
-
队列同步器(AbstractQueuedSynchronizer)源码简析
文章目录1 AQS概述2 AQS常用方法2 AQS实现分析2.1 同步队列2.1.1 入队2.1.2 出列2.2 同步状态2.2.1 独占式(EXCLUSIVE)2.2.2 共享式(SHARED)2.2.3 超时获取方式2.3 阻塞和唤醒线程2.3.1 parkAndCheckInterrupt2.3.2 unparkSuccessor2.3.3 LockSupport3 总结参考资料文章后续于https://github.com/zgkaii/CS-Study-Notes更新,欢迎批评指正!1 A原创 2021-06-09 15:33:24 · 877 阅读 · 0 评论 -
==、equals()与hashcode()的区别和联系
文章目录Java里面已有`==`运算符了,为什么还需要equals()呢?那么hashCode()方法又有什么用?那么hashCode()与equals() 有什么联系呢?如何重写equals()与hashCode()方法呢?总结参考Java里面已有==运算符了,为什么还需要equals()呢?在理解==运算符之前,我们先来明确一下基本数据类型与引用数据类型的区别:基本数据类型包括 boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、in原创 2021-02-05 22:15:07 · 394 阅读 · 0 评论 -
HashMap源码浅析
文章目录1 HashMap简介2 底层数据结构2.1 JDK1.72.2 JDK1.83 HashMap源码分析(JDK 1.8)3.1 静态属性3.2 成员属性3.3 构造方法3.4 tableSizeFor(int cap)方法3.4 确定数组索引位置3.4.1 hash(Object)3.4.2 桶下标计算公式3.5 put(K,V)3.6 resize()3.7 get(Object)3.8 treeifyBin(Node1 HashMap简介HashMap 是一个散列表,它存储的内容是键值对(k原创 2020-11-11 01:32:19 · 1209 阅读 · 0 评论 -
LinkedList源码简析
文章目录1 LinkedList简介2 成员属性3 构造方法4 常用方法4.1 添加元素4.2 查找元素4.3 删除元素4.4 修改元素5 ArrayList与LinkedList异同参考1 LinkedList简介LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList继承于 AbstractSequentialList,实现了 List、 Deque、 Cloneable、java.io.Serializable 接口。LinkedList实现了List接口原创 2020-11-09 20:53:54 · 298 阅读 · 0 评论 -
ArrayList源码分析
文章目录1. AzrrayList 简介2. ArrayList源码简析(JDK 1.8)2.1 成员属性2.2 构造方法2.3 添加元素2.4 删除元素2.3 ArrayList扩容机制2.3.1 `ensureCapacityInternal()` 和 `ensureExplicitCapacity()`2.3.2 `grow()`2.4 `ensureCapacity`3 遍历4 fail-fast机制参考1. AzrrayList 简介java.util.ArrayList 是一个数组队列,相当原创 2020-11-08 02:11:30 · 500 阅读 · 2 评论