摘要: CompletableFuture 是 Java 8 引入的功能强大的异步编程工具,既可以像 Future 一样阻塞等待结果,也支持非阻塞的回调链式编程。 在它的源码内部,等待机制与回调机制的核心支撑,正是以下三个关键结构: WaitNode:管理阻塞等待的线程 CompletionNode:管理回 阅读全文
posted @ 2025-08-12 21:00 零1零1 阅读(45) 评论(0) 推荐(0)
摘要: 1. 引子:ThreadLocal 到底解决了什么问题? 多线程环境下,我们通常通过锁保证共享变量的线程安全。但锁有两大缺陷: 性能开销大 逻辑复杂,容易死锁 ThreadLocal 走了一条“避开共享”的路线: 给每个线程分配一份独立的变量副本,线程间互不干扰,从而避免同步。 它的理念是:共享变量 阅读全文
posted @ 2025-08-10 09:33 零1零1 阅读(16) 评论(0) 推荐(0)
摘要: 适用版本:Redisson 3.23.5+ 核心组件:RedissonLock(可重入锁实现) 涉及模块:Lua 脚本、Redis 发布订阅、内部续期机制(看门狗) 📌 一、Redisson 分布式锁实现简介 Redisson 基于 Redis 实现了多种分布式锁的高级封装,其中 Redisson 阅读全文
posted @ 2025-07-27 11:03 零1零1 阅读(190) 评论(0) 推荐(0)
摘要: 一、什么是 ReentrantLock? ReentrantLock 是 Java 中一种可重入锁(Reentrant Lock),功能上类似于 synchronized,但提供了更高的控制力,例如: 可中断锁获取 尝试获取锁 公平锁和非公平锁 手动加锁/释放锁 支持条件变量(Condition) 阅读全文
posted @ 2025-07-26 10:20 零1零1 阅读(55) 评论(0) 推荐(0)
摘要: 一、什么是 JVM? JVM(Java Virtual Machine)即 Java 虚拟机,是 Java 程序的运行时环境。它的主要任务是将 Java 字节码(.class 文件)解释或编译成对应平台的机器码,并执行。 JVM 是 Java 实现“一次编写,到处运行”理念的关键所在。 二、JVM 阅读全文
posted @ 2025-07-26 09:52 零1零1 阅读(145) 评论(0) 推荐(0)
摘要: Java 线程池(ThreadPoolExecutor)源码解析 一、前言 在高并发编程中,合理使用线程池可以有效提高系统的并发能力,降低线程创建和销毁的开销,并提升资源利用率。ThreadPoolExecutor 是 Java 线程池的核心实现类,我们今天将深入剖析其源码,理解线程池的工作机制。 阅读全文
posted @ 2025-04-05 09:56 零1零1 阅读(72) 评论(0) 推荐(0)
摘要: 四年 Java 开发,面试被虐,我发现自己缺少了什么? 最近面试的经历让我意识到,作为一名有四年经验的 Java 开发,我的技术仍然存在明显短板,尤其是在源码阅读和底层原理理解方面。这次面试的“惨败”让我下定决心要系统性提升自己。 面试中的“致命打击” 在一次面试中,面试官问了两个让我难堪的问题: 阅读全文
posted @ 2025-04-04 12:17 零1零1 阅读(28) 评论(0) 推荐(0)