← ReJava · 学习目录

REJAVA / LEARNING NOTES

学习导读:通用学习路线

从应用内部协作到多应用协作,安排阅读、应用与回顾。

Java 17 / 21更新于 2026.10.12约 3 分钟阅读

根据课程材料整理

本次更新说明
  • 统一 CompletableFuture 的中文释义。
  • 提炼知识地图与通用学习方法,保留相关学习范围。
  • 移除个人背景、评价及与学习无关的分析。

学习路线表达的是主题之间的关系。可以根据已有知识调整节奏,不必把所有主题压进固定天数。

第一段:理解一条应用内部的执行流程

先理解 JMM(Java 内存模型)与 volatile(可见性关键字),再看 synchronized(内置同步关键字)。前者说明共享访问应满足的规则,后者帮助理解同锁互斥与可见性。

接着学习 thread pool(线程池):任务如何提交、排队、执行和结束。然后看 ConcurrentHashMap(并发哈希映射),检查“一个方法安全”和“几步业务一起安全”的区别。

后续可以连接 BlockingQueue(阻塞队列)与 CompletableFuture(可编排的异步结果)。再回到 JVM(Java 虚拟机)的内存区域、对象回收和 GC(垃圾回收),理解运行时资源怎样被管理。

可以留下的学习产出: 一次完整解释、一个可复现的代码现象、一个改变条件后需要重新判断的问题。

第二段:理解数据怎样读写

从 MySQL(关系型数据库)的索引与执行计划进入,再学习 transaction(事务)、隔离级别、MVCC(多版本并发控制)、锁与死锁。

然后看 Redis(内存数据存储)的数据类型、持久化和缓存一致性。把“读取、未命中、回填、过期、失败处理”串成一次完整请求。

框架部分依次连接 Spring(应用框架)的 IoC(控制反转)、AOP(面向切面编程)、事务失效场景与自动配置,再看 MyBatis(持久层框架)如何执行数据访问。

可以留下的学习产出: 一份执行计划解释、一个事务失效案例,以及一次缓存读写过程说明。

第三段:理解多个应用怎样协作

先认识 CAP(一致性、可用性、分区容错性)与 BASE(基本可用、软状态、最终一致性),再讨论分布式标识、分布式锁、消息和事务。

学习 message queue(消息队列)时,分别检查丢失、重复、顺序和积压。学习 distributed transaction(分布式事务)时,比较 2PC(两阶段提交)、TCC(尝试、确认、取消)、Saga(分步事务与补偿)和本地消息表的适用条件。

最后把服务发现、网关、rate limiting(限流)、circuit breaker(熔断)与 idempotency(幂等性)放回业务流程。每次都说明:保护什么、失败怎样处理、还有哪些限制。

可以留下的学习产出: 一张业务流程图、两种方案的取舍,以及一个最小验证实验。

第四段:连接新特性与综合应用

按实际 Java 版本理解 virtual thread(虚拟线程)、record(记录类)、sealed class(密封类)和 pattern matching(模式匹配)。不要把不同版本的行为混在一起。

AI(人工智能)部分先认识 Spring AI(Spring 人工智能集成框架)、LangChain4j(Java 大模型应用框架)、RAG(检索增强生成)和 Agent(智能体),理解它们与既有后端服务的联系。

综合练习可以围绕订单、短链接、缓存或消息流程展开。重点是说明数据、执行顺序、失败路径与验证方法。

每次学习怎样收束

  1. 先回想上次留下的一个问题。
  2. 阅读本次主问题及其例子,把不熟悉的词放回场景中理解。
  3. 做一次应用判断,或运行一个有明确预期的示例。
  4. 合上资料,完整解释一次。
  5. 记下仍然模糊的条件,隔一段时间再用变式检查。

看完资料、运行示例和独立解决问题是不同的经历。记录差别,可以帮助下一次复习找到入口。

继续阅读

从volatile(可见性关键字)与 JMM(Java 内存模型)开始。需要查看全局范围时,回到Java 知识地图。

路线整理参考 JavaGuide(Java 学习与面试资料库) 与 advanced-java(Java 进阶学习资料)。