摘要: 目录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 阅读(153) 评论(0) 推荐(0)
摘要: 目录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 阅读(132) 评论(0) 推荐(1)
摘要: 目录1. 构造方法2. put方法2.1. hash2.2. ensureSegment2.3. segment的put方法2.3.1. scanAndLockForPut2.3.2. rehash3. get4. containsKey方法5. remove5.1. segmentForHash5 阅读全文
posted @ 2025-06-27 12:16 ThinkerQAQ 阅读(41) 评论(0) 推荐(0)
摘要: 目录1. 是什么2. Future VS CompletableFutre3. 使用3.1. 运行一个不返回结果的任务3.2. 运行一个返回结果的任务3.3. 线程池3.4. 手动完成任务3.5. 回调3.6. 链式调用3.7. 组合多个CompletableFuture3.8. 异常处理4. 源码 阅读全文
posted @ 2025-06-27 10:53 ThinkerQAQ 阅读(270) 评论(0) 推荐(2)