Java源码分析:深入探讨Iterator模式——迭代器模式 2026年03月30日 daichangya 117 引言java.util 包中包含了一系列重要的集合类。本文将从源码分析入手,深入研究集合类的内部结构,以及遍历集合的迭代器模式(Iterator Pattern)的源码实现内幕。我们将先讨论根接口 Collection,然后分析抽象类 AbstractL... 阅读全文 0 评论
AbstractQueuedSynchronizer源码解析之ReentrantLock 2026年03月30日 daichangya 18 前言在 JDK 1.8 中,AbstractQueuedSynchronizer(简称 AQS)拥有众多子类,如下图所示:可以看到,公平锁与非公平锁(包括 ReentrantLock)都是基于 AQS 实现的。公平锁(Fair Lock):线程抢占锁的顺... 阅读全文 0 评论
JDK源码分析——研究 Hash 存储机制 2026年03月30日 daichangya 17 通过 HashMap、HashSet 的源代码分析其 Hash 存储机制集合和引用就像引用类型的数组一样,当我们把 Java 对象放入数组时,并不是真正把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量。实际上,Has... 阅读全文 0 评论
LinkedHashMap的实现原理 2026年03月30日 daichangya 15 LinkedHashMap 的实现原理LinkedHashMap 概述LinkedHashMap 是 Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。与 HashMap 不... 阅读全文 0 评论
HashMap源码分析(基于JDK1.6) 2026年03月30日 daichangya 15 HashMap 源码分析(基于 JDK 1.6)编者注:本文为历史博文归档,主要基于 JDK 1.6 版本源码进行分析。涉及 JDK、框架与工具链版本请以当前官方文档为准。引用外链图片可能失效,阅读时请注意时效性。在 Java 集合类中,除了 Array... 阅读全文 0 评论