一、整体规划总览

阶段

学习内容

周期

核心目标

第一阶段

JavaSE 基础+进阶

第1-2月

夯实语法、面向对象、集合、IO、多线程

第二阶段

MySQL + JDBC

第3月

熟练SQL、数据库操作、原生Java操作数据库

第三阶段

JavaWeb 核心

第4-5月

掌握Web协议、Servlet、Filter、MVC架构

第四阶段

SSM 框架

第6月

吃透Spring、SpringMVC、MyBatis

第五阶段

SpringBoot 主流框架

第7-8月

快速开发企业单体项目,理解自动配置

第六阶段

微服务生态基础

第9-10月

SpringCloud、注册中心、网关、配置中心

第七阶段

主流中间件 & 运维工具

第11月

消息队列、缓存、搜索引擎、Docker

第八阶段

项目实战 + 面试刷题

第12月

商业级项目落地、八股文+算法+面试复盘


二、分阶段详细学习计划

阶段一:JavaSE 基础与进阶(第1-2月)

工具准备:JDK21、IDEA、Maven、Git基础

第1月:Java 基础语法 + 面向对象

  1. 开发环境搭建、环境变量配置、IDEA常用操作

  2. 基本语法:变量、数据类型、运算符、分支/循环语句

  3. 数组、字符串、StringBuilder、基础算法练习

  4. 异常体系:try-catch、throws、自定义异常

  5. 面向对象核心:类与对象、封装、继承、多态

  6. 抽象类、接口、内部类、枚举、权限修饰符 阶段小项目:控制台学生信息管理系统(基础CRUD)

    第2月:JavaSE 高阶 API + 多线程 + 网络编程

  7. 常用工具类:Object、包装类、Java8+新时间API

  8. 集合框架全解:List、Set、Map、集合遍历、源码入门

  9. IO流 & NIO.2:字节流、字符流、缓冲流、文件操作、序列化

  10. 多线程:Thread、Runnable、线程生命周期、线程安全

  11. 锁机制:synchronized、Lock、线程池使用

  12. 网络编程:Socket、TCP/UDP 基础通信 阶段小项目:简易多线程文件下载器、局域网简易聊天室


阶段二:MySQL 数据库 + JDBC(第3月)

第3月 上半月:MySQL 数据库

  1. MySQL安装、客户端使用、数据库/表操作(DDL)

  2. DML增删改、DQL查询:条件查询、排序、分页、聚合函数

  3. 多表查询:内连接、外连接、子查询

  4. 数据库约束:主键、唯一、非空、外键

  5. 事务ACID、事务隔离级别、索引基础

    第3月 下半月:JDBC + 数据库连接池

  6. 原生JDBC完整流程、PreparedStatement(防SQL注入)

  7. 封装通用DB工具类

  8. 主流连接池:HikariCP、Druid 配置与使用

  9. 数据库分层思想:Dao层设计 阶段小项目:基于JDBC+MySQL的商品管理系统(CRUD+分页+事务)


阶段三:JavaWeb 核心技术(第4-5月)

第4月:Web基础 + Servlet

  1. HTTP协议详解、请求头/响应头、状态码

  2. HTML、CSS、JavaScript 前端基础(够用即可)

  3. Tomcat部署、Web项目结构

  4. Servlet生命周期、请求&响应对象

  5. 会话技术:Cookie、Session

  6. 转发、重定向、编码乱码解决方案

    第5月:JSP + 过滤器 + 监听器 + 三层架构

  7. JSP语法、EL表达式、JSTL标签库

  8. Filter过滤器:登录拦截、全局编码过滤

  9. Listener监听器:域对象监听

  10. MVC设计模式、标准三层架构(Controller/Service/Dao)

  11. 文件上传、下载功能实现 阶段小项目:图书管理系统(登录权限、CRUD、分页、文件上传)


阶段四:SSM 三大框架(第6月)

  1. MyBatis:环境搭建、映射文件、动态SQL、关联查询、分页插件

  2. Spring:IOC容器、Bean管理、DI依赖注入、AOP面向切面、声明式事务

  3. SpringMVC:请求接收、参数绑定、视图解析器、拦截器、JSON交互

  4. SSM框架整合:完整环境搭建、统一异常处理 阶段小项目:SSM整合版员工管理系统


阶段五:SpringBoot 企业级开发(第7-8月)

第7月:SpringBoot 入门与基础功能

  1. SpringBoot 核心特性、自动配置原理

  2. 配置文件(yml/properties)、多环境配置

  3. Web开发:请求处理、全局异常、跨域处理

  4. SpringBoot 整合 MyBatis/MyBatis-Plus

  5. 分页、条件查询、接口文档(Knife4j/Swagger)

    第8月:SpringBoot 进阶功能

  6. 全局统一返回结果、参数校验

  7. 日志框架(Logback)、项目打包部署

  8. 定时任务、异步任务

  9. 权限框架入门:Spring Security / Sa-Token 阶段小项目:SpringBoot 前后端分离简易后台管理系统


阶段六:微服务生态(SpringCloud)(第9-10月)

第9月:微服务基础 + 注册中心 + 配置中心

  1. 微服务架构理念、服务拆分原则

  2. 服务注册与发现:Nacos / Eureka

  3. 配置中心:Nacos 动态配置

  4. 服务调用:OpenFeign、负载均衡(Ribbon)

    第10月:网关 + 熔断降级 + 链路追踪

  5. 网关组件:Spring Cloud Gateway

  6. 熔断、降级、限流:Sentinel

  7. 服务监控、链路追踪基础

  8. 微服务项目多模块拆分实战 阶段小项目:分布式电商基础微服务模块(用户、商品、订单拆分)


阶段七:主流中间件 + 容器化(第11月)

  1. 缓存中间件:Redis 基础、五大数据类型、持久化、缓存穿透/击穿/雪崩

  2. 消息队列:RabbitMQ / RocketMQ 基础使用、消息投递、死信队列

  3. 搜索引擎:Elasticsearch 入门、简单检索

  4. 运维工具:Docker 镜像、容器、Docker Compose

  5. Linux 常用命令、服务器项目部署


阶段八:综合项目实战 + 面试备战(第12月)

1. 商业级项目实战(优先选1个深度开发)

  • 方向1:在线商城(SpringCloud微服务完整版)

  • 方向2:博客/论坛系统(前后端分离+权限+评论)

  • 方向3:OA办公系统(流程审批、角色权限)

    2. 面试专项复习

  1. Java基础八股文:JVM、内存模型、GC、类加载机制

  2. 集合、多线程、锁、并发编程高频考点

  3. MySQL:索引、事务、锁、慢查询优化

  4. 框架原理:Spring IOC/AOP、SpringBoot自动配置

  5. 微服务、中间件面试题

  6. 算法刷题:LeetCode 简单+中等题(数组、链表、哈希)

    3. 简历优化 & 模拟面试

  • 梳理项目亮点、技术难点、解决方案

  • 录制面试复盘,查漏补缺


三、配套学习资源&工具清单(直接参考)

必备工具

  • 运行环境:JDK21、MySQL8.0、Redis、RabbitMQ、Nacos、Docker

  • 开发工具:IntelliJ IDEA、Navicat、Postman、Git

  • 辅助工具:Knife4j(接口文档)、Xshell(Linux连接)

    推荐学习方向

  1. 文档:Oracle官方文档、MyBatis官方文档、Spring全家桶文档

  2. 刷题:LeetCode、牛客网Java面试题库

  3. 规范:阿里巴巴Java开发手册