会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
ThinkerQAQ
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
下一页
2025年6月30日
7.Java SDK源码分析系列笔记-JDK1.8 HashMap
摘要: 目录1. 是什么2. 如何使用3. 原理分析3.1. uml3.2. 构造方法3.3. put方法3.3.1. 计算key的hash值3.3.2. 第一次进来table肯定为空,那么扩容3.3.3. 使用hash值&数组长度1计算改数据存放的位置i3.3.4. 第二次进来如果位置i为空,那么用(ke
阅读全文
posted @ 2025-06-30 11:02 ThinkerQAQ
阅读(177)
评论(0)
推荐(0)
2025年6月29日
6.Java SDK源码分析系列笔记-SynchronizedList
摘要: 目录1. 是什么2. 如何使用3. 源码分析3.1. synchronizedList方法3.1.1. 调用SynchronizedList的构造方法3.1.2. 初始化锁对象为当前正在构造的list3.2. 其他方法3.2.1. 使用synchronized代码块加锁3.2.2. 转而调用list
阅读全文
posted @ 2025-06-29 18:57 ThinkerQAQ
阅读(36)
评论(0)
推荐(0)
5.Java SDK源码分析系列笔记-Vector
摘要: 目录1. 是什么2. 如何使用3. 源码分析3.1. uml3.2. 构造方法3.3. add方法3.3.1. 加了synchronized保证线程安全3.3.2. 根据情况进行扩容并迁移旧的数组3.3.3. 插入到数组末尾3.4. remove方法【根据下标删除】3.4.1. 加了synchron
阅读全文
posted @ 2025-06-29 18:56 ThinkerQAQ
阅读(60)
评论(0)
推荐(0)
4.Java SDK源码分析系列笔记-ArrayList
摘要: 目录1. 是什么2. 如何使用3. 原理分析3.1. uml3.2. 构造方法3.3. add方法3.3.1. 确保容量足够容纳新的元素3.3.2. 把元素放入数组最后一个位置3.4. remove方法【按下标删除元素】3.4.1. 把数组index位置之后的数据往前挪3.4.2. 更新size【数
阅读全文
posted @ 2025-06-29 10:51 ThinkerQAQ
阅读(226)
评论(0)
推荐(1)
2025年6月28日
3.Java SDK源码分析系列笔记-LinkedList
摘要: 目录1. 是什么2. 如何使用3. 原理分析3.1. uml3.2. 构造方法3.2.1. 队列的节点Node3.3. add方法3.3.1. 插入到链表尾部3.3.2. 构造新节点【prev指向尾节点,next为null】3.3.3. 更新尾节点3.3.4. 更新size3.4. addLast方
阅读全文
posted @ 2025-06-28 19:52 ThinkerQAQ
阅读(148)
评论(0)
推荐(0)
2.Java SDK源码分析系列笔记-String系列
摘要: 目录1. String1.1. 是什么1.2. 使用1.3. 源码分析1.3.1. 类的定义1.3.2. 构造方法1.3.2.1. 解释new String("test1") != new String("test1")1.3.3. 常量池1.3.3.1. 解释"test2"=="test2"1.3
阅读全文
posted @ 2025-06-28 13:26 ThinkerQAQ
阅读(224)
评论(0)
推荐(0)
1.Java SDK源码分析系列笔记-Integer
摘要: 目录1. 使用2. 原理分析2.1. 构造方法2.2. valueOf方法2.2.1. 范围正在-128-127的从缓存中取2.2.2. 解释Integer.valueOf(1)==Integer.valueOf(1)2.2.3. 解释(Integer val1 = 1) == (Integer v
阅读全文
posted @ 2025-06-28 12:23 ThinkerQAQ
阅读(129)
评论(0)
推荐(0)
24. Java JUC源码分析系列笔记-Semaphore
摘要: 目录1. 是什么2. 原理分析2.1. uml3. 公平信号量3.1. 是什么3.2. 使用3.3. 原理分析3.3.1. 构造方法3.3.1.1. 公平Sync3.3.2. acquire3.3.2.1. 调用AQS加共享锁3.3.2.1.1. 尝试加锁【公平:队列前面有人排队那么直接返回失败】3
阅读全文
posted @ 2025-06-28 10:42 ThinkerQAQ
阅读(56)
评论(0)
推荐(0)
2025年6月27日
23. Java JUC源码分析系列笔记-ReentrantReadWriteLock
摘要: 目录1. ReentrantReadWriteLock是什么2. 非公平ReentrantReadWriteLock2.1. 是什么2.2. 怎么使用2.3. 源码分析2.3.1. uml2.3.2. 构造方法2.3.3. 读锁加锁2.3.3.1. 使用AQS加共享锁2.3.3.1.1. 使用Syn
阅读全文
posted @ 2025-06-27 23:18 ThinkerQAQ
阅读(174)
评论(0)
推荐(0)
22. Java JUC源码分析系列笔记-JDK1.8的ConcurrentHashMap
摘要: 目录1. 是什么2. 如何使用3. 原理分析3.1. 构造方法3.1.1. Node3.2. put方法【有加锁】3.2.1. 计算key的hash3.2.2. 死循环3.2.3. 第一次进来table为空,所以需要初始化table3.2.3.1. 使用CAS加锁防止多线程同时初始化table3.2
阅读全文
posted @ 2025-06-27 17:17 ThinkerQAQ
阅读(186)
评论(0)
推荐(1)
上一页
1
2
3
4
5
6
7
8
下一页
公告