Java源码分析:深入探讨Iterator模式——迭代器模式 2026年03月30日 daichangya 117 引言java.util 包中包含了一系列重要的集合类。本文将从源码分析入手,深入研究集合类的内部结构,以及遍历集合的迭代器模式(Iterator Pattern)的源码实现内幕。我们将先讨论根接口 Collection,然后分析抽象类 AbstractL... 阅读全文 0 评论
Java Timer&TimerTask原理分析 2026年03月30日 daichangya 18 背景与问题在 Java 开发中,面对定时执行任务的需求,开发者往往会自然想到使用 Timer 和 TimerTask。最近在使用这两个类实现定时任务时,发现了一个现象:当在 TimerTask 的 run() 方法中使用 Thread.sleep() 时... 阅读全文 0 评论
从InputStream到ByteArrayInputStream 2026年03月30日 daichangya 18 引言本文主要深入分析 Java IO 流体系中的核心类及其设计模式的应用,具体内容包括:适配器模式(Adapter Pattern):如何将 byte 数组适配至 ByteArrayInputStream。装饰器模式(Decorator Pattern)... 阅读全文 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 评论