建议搭配 STUDY-TRACKER.md 使用:每完成一个知识点就打卡。时长按每天 2~3 小时估算。
一图看懂
flowchart TD
S1["① 入门篇<br/>环境 · 语法 · 面向对象 · 集合 · Java8<br/>产出:能独立写小练习"] --> S2["② 进阶篇<br/>并发 · JVM · IO与网络<br/>产出:理解程序如何运行"]
S2 --> S3["③ 数据库篇<br/>SQL · 索引 · 事务 · 调优<br/>产出:会设计表、会优化 SQL"]
S3 --> S4["④ 框架篇<br/>Spring · SpringBoot · MyBatis · Cloud<br/>产出:todo-list 完整项目"]
S4 --> S5["⑤ 中间件篇<br/>Redis · MQ 三剑客 · ES · ZK/Nacos · Nginx · MongoDB<br/>产出:知道每个件用在哪、怎么用"]
S5 --> S6["⑥ 分布式与高并发<br/>CAP · 分布式锁/事务 · 限流 · 秒杀<br/>产出:能讲清系统设计题"]
S6 --> S7["⑦ 面试篇<br/>八股速查 · 算法 · 简历<br/>产出:offer"]
两条贯穿线与主线并行:
- 项目线:
todo-list API(框架篇)→ 接入 MyBatis-Plus(MyBatis 篇)→ 加缓存与消息队列(中间件篇)→ 演进为秒杀系统(高并发篇)。每个阶段都在同一个项目上叠加,面试时就是一段完整的成长故事。 - 算法线:从进阶篇开始,每天 2~3 题,按 03-算法刷题路线 推进。
阶段总表
| 阶段 | 建议时长 | 核心文件 | 过关标准(全部满足才进入下一阶段) |
|---|---|---|---|
| ① 入门篇 | 3 周 | 入门篇文件 + 设计模式 | 不查资料能写出:集合统计词频、异常+反射的小工具、Stream 处理订单列表;文件末尾面试题能答 80% |
| ② 进阶篇 | 3 周 | 并发、JVM、IO网络、工具链 | 能手写线程池使用代码并解释 7 参数;能用 jstack/jmap 分析死锁与 OOM;能讲三次握手与 NIO 三大件;Git 协作命令盲打、Maven 依赖冲突会排查 |
| ③ 数据库篇 | 2 周 | MySQL 基础、索引事务调优 | 学生选课库 10 道 SQL 全部独立完成;能解释 B+ 树/MVCC/三大日志;能对慢 SQL 做 explain 分析 |
| ④ 框架篇 | 3 周 | Spring、SpringBoot、MyBatis、SpringCloud、单元测试、认证安全 | todo-list 项目上线本地运行:CRUD+校验+全局异常+缓存+登录鉴权;核心 Service 有单测;能讲自动配置原理与事务失效场景 |
| ⑤ 中间件篇 | 3 周 | Redis、RabbitMQ、Kafka、RocketMQ、ES、ZK/Nacos、Nginx、MongoDB | 每个中间件都完成 Docker 部署 + Spring Boot 整合 demo;能说出每个件的 3 个使用场景与核心可靠性问题 |
| ⑥ 分布式与高并发 | 2 周 | 分布式理论、高并发设计、场景题集 | 能白板画出秒杀系统全链路并解释防超卖;能对比三种分布式锁与四种限流算法;短链/延迟任务/排行榜各能讲 5 分钟 |
| ⑦ 面试篇 | 3~4 周 | 八股速查一、八股速查二、选择填空题库、考点详略表、算法路线、简历求职 | 224 张闪卡全部过一遍(含速查 176 + 设计模式/工具链/单测/认证/场景题新章);448 题题库全刷(选择 307 + 填空 91 + 判断 50);章节小考逐章 90%+;综合大考 20 题 ≥85%;算法 200 题完成;简历定稿并完成 3 次模拟面试 |
合计约 19~20 周(零基础按部就班约 5 个月,加上缓冲 6 个月)。
三档时间规划
A. 零基础 · 6~7 个月(默认节奏)
| 月份 | 内容 |
|---|---|
| 第 1 月 | 入门篇全部 + 开始算法(数组、链表专题) |
| 第 2 月 | 进阶篇(并发重推 1 周)+ 算法(栈队列、哈希) |
| 第 3 月 | 数据库篇 + 框架篇前半(Spring、SpringBoot,完成 todo-list) |
| 第 4 月 | 框架篇后半(MyBatis、SpringCloud)+ 中间件篇(Redis、RabbitMQ) |
| 第 5 月 | 中间件篇其余 + 分布式与高并发篇;项目加中间件 |
| 第 6 月 | 面试篇:八股清单每天过、算法套卷、简历与模拟面 |
| 第 7 月 | 查漏补缺 + 投递 |
B. 有其他语言基础 · 3 个月
- 第 1~2 周:入门篇快速过(语法对照学,重点看面向对象、集合、Java8)。
- 第 3~5 周:进阶篇 + 数据库篇并行,算法每天保持。
- 第 6~8 周:框架篇,完成 todo-list 项目。
- 第 9~10 周:中间件篇 + 分布式篇,项目加中间件。
- 第 11~12 周:面试篇冲刺。
C. 临门冲刺 · 1 个月(已有项目与八股基础)
学习方法建议
- 先资料后提纲:每个文件先读「推荐资料」里的廖雪峰/JavaGuide 对应章节(原始讲解更细),再用本指南的「核心知识点」当提纲复习,用「高频面试题」验收。
- 代码必须亲手敲:动手实践的任务不要复制粘贴;中间件全部用 Docker 起服务,练习启停与排错本身也是面试考点。
- API 随手查:忘掉类和方法签名时用 Java 8 中文 API,不要背 API。
- 输出倒逼输入:每完成一篇,用自己的话写 200 字笔记(或讲给朋友/橡皮鸭听),讲不清的地方就是漏洞。
- 面试题不是背的:先理解,再把答案压缩成 3~6 条要点——压缩不出来的,说明还没懂,回知识点重看。