Skip to content

Java 高级 ​

底层原理与主流中间件:JUC、Spring 源码、Nacos、Kafka、ES、Redis 深入

面向 3-5 年经验、追求技术深度的工程师。深入 JVM 与并发源码、拆解 Spring/MyBatis 实现,掌握阿里系中间件(Nacos/Sentinel/Seata/Dubbo)、消息队列(Kafka/RocketMQ/RabbitMQ)、搜索与 NosQL(ES/MongoDB/Redis 深入)、ShardingSphere 与 Netty,以及 Activiti/Flowable 工作流。学完具备中大型系统攻坚能力。

本阶段学习目录 ​

底层原理 ​

  • JVM 深入 — JMM 内存模型、G1/ZGC、垃圾回收器对比、内存调优、字节码与 ASM/Javassist。
  • 并发与 JUC 深入 — AQS 原理、ReentrantLock、线程池机制、CompletableFuture、虚拟线程。
  • Spring 源码剖析 — 容器启动流程、循环依赖、AOP 代理、事务实现原理。
  • MyBatis 源码剖析 — 会话创建、执行器、参数与结果映射、插件(拦截器)机制。
  • Netty 网络编程 — Reactor 模型、Channel/Pipeline、编解码、粘包拆包、心跳。

阿里中间件 ​

  • Nacos — 服务注册发现、动态配置中心、命名空间与分组。
  • Sentinel — 限流、熔断降级、热点参数、集群流控、规则持久化。
  • Seata — AT/TCC 模式、分布式事务、undo_log 与隔离。
  • Dubbo — RPC 原理、SPI 机制、负载均衡、服务治理与容错。

消息中间件 ​

  • Kafka — 架构模型、零拷贝、ISR、分区与副本、幂等与事务消息。
  • RocketMQ — 消息模型、事务消息、延迟/死信队列、高可用部署。
  • RabbitMQ — 交换机与队列、ACK 确认、延迟与死信、镜像队列。

存储与搜索 ​

  • Elasticsearch — 倒排索引、DSL 查询、分词、聚合、集群与写入调优。
  • MongoDB — 文档模型设计、CRUD、聚合管道、索引与副本集。
  • Redis 深入 — 持久化(RDB/AOF)、主从/哨兵/集群、Redisson 分布式锁、高并发策略。
  • ShardingSphere — 分库分表、读写分离、分布式事务、数据脱敏。

业务引擎 ​

  • Activiti / Flowable 工作流 — BPMN 2.0 规范、流程定义、任务管理、会签/或签、驳回与超时升级。
  • 规则引擎 — Drools、LiteFlow 规则编排与业务解耦。

云原生基础 ​

  • Docker 容器化 — 镜像与容器、Dockerfile、Compose、私有镜像仓库。

如何高效学习本阶段 ​

  1. 按"原理 → 中间件 → 实战"顺序推进:先把 JVM、JUC、Spring/MyBatis 源码等底层原理吃透,再学 Nacos/Kafka/ES 等中间件,理解才会水到渠成。
  2. 动手搭一套最小可用环境:用 Docker Compose 把 Nacos、Redis、Kafka、ES 跑起来,每个主题都亲手写一段可运行代码,而非只看文档。
  3. 带着"排障视角"学:重点搞清楚"为什么会 OOM / 消息为什么会丢 / 分布式事务为什么会不一致",把官方文档的监控与调优章节当作必读。
  4. 关联面试与系统设计:学完每个主题,对照面试中心中的相关题目做自测,把知识点串成中大型系统的设计能力。

学习建议

底层原理决定你能走多深,中间件决定你能做多大。建议每章先读"核心概念与原理",再跑通"代码示例",最后用"练习与自测"检验。遇到瓶颈优先查官方文档,再回到源码。