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、私有镜像仓库。
如何高效学习本阶段
- 按"原理 → 中间件 → 实战"顺序推进:先把 JVM、JUC、Spring/MyBatis 源码等底层原理吃透,再学 Nacos/Kafka/ES 等中间件,理解才会水到渠成。
- 动手搭一套最小可用环境:用 Docker Compose 把 Nacos、Redis、Kafka、ES 跑起来,每个主题都亲手写一段可运行代码,而非只看文档。
- 带着"排障视角"学:重点搞清楚"为什么会 OOM / 消息为什么会丢 / 分布式事务为什么会不一致",把官方文档的监控与调优章节当作必读。
- 关联面试与系统设计:学完每个主题,对照面试中心中的相关题目做自测,把知识点串成中大型系统的设计能力。
学习建议
底层原理决定你能走多深,中间件决定你能做多大。建议每章先读"核心概念与原理",再跑通"代码示例",最后用"练习与自测"检验。遇到瓶颈优先查官方文档,再回到源码。