适合零基础 / 转行者 / 在校学生,按顺序学完可达到能投 Java 后端开发岗位水平,附带学习重点、实战项目、避坑要点。
阶段一:计算机前置基础(1~2 周,零基础必学)
1. 计算机基础
- 操作系统:进程 / 线程、内存、IO、文件、网络基础概念
- 计算机网络:IP、端口、HTTP/HTTPS、TCP/IP 三次握手四次挥手
- 数据库基础:库、表、主键、外键、索引、SQL 基础概念
2. 开发工具环境
- JDK 安装配置、环境变量
JAVA_HOME - IDE:IDEA 完整使用(创建项目、快捷键、Debug、插件)
- Maven/Git 基础(项目构建、代码提交、分支)
目标:能独立搭建 Java 运行环境,看懂简单网络、数据库术语。
阶段二:Java SE 核心基础(25~35 天,重中之重)
1. 基础语法
变量、数据类型、运算符、流程控制(if/for/switch)、数组、方法、重载、递归
2. 面向对象 OOP(Java 灵魂)
类与对象、封装、继承、多态、this/super、static、final、抽象类、接口、内部类
3. 常用核心 API
- String、StringBuilder、StringBuffer
- 包装类、Math、Random、日期类(Date、SimpleDateFormat、LocalDateTime)
- 集合框架(List/Set/Map 底层:ArrayList、LinkedList、HashSet、HashMap)
- 泛型、可变参数
4. 异常处理
try-catch-finally、throws、自定义异常、try-with-resources
5. IO 流
字节流、字符流、文件读写、缓冲流、对象流序列化
6. 多线程并发(面试高频)
创建线程 4 种方式、锁 synchronized、volatile、Lock、线程池、CAS、CountDownLatch
7. 反射 + 注解(你上一轮提问重点)
Class 对象、反射获取构造 / 方法 / 字段、自定义注解、运行时读取注解
8. 其他核心
枚举、Lambda 表达式、Stream 流、函数式接口、单元测试 JUnit
配套实战小项目
- 简易学生管理系统(集合 CRUD)
- 文件批量处理工具(IO 流)
- 多线程下载器
阶段三:数据库 & SQL(10~15 天)
1. MySQL 核心
DDL/DML/DQL/DCL、多表查询、子查询、聚合函数、事务 ACID 索引原理、联合索引、事务隔离级别、锁机制、慢查询优化
2. Redis(缓存中间件,企业必备)
5 大数据类型、持久化、过期策略、缓存击穿 / 雪崩 / 穿透解决方案
3. JDBC
原生 JDBC 连接数据库、PreparedStatement、事务控制
实战项目
基于 MySQL 的学生成绩管理系统(JDBC CRUD、分页、多表联查)
阶段四:Java Web 开发(15~20 天,前后端交互基础)
1. 前端基础(够用即可,不用深挖)
HTML、CSS、JavaScript、AJAX、JSON
2. Web 核心技术
- Tomcat 服务器部署
- Servlet:请求、响应、生命周期、域对象
- Cookie & Session、会话保持
- Filter 过滤器、Listener 监听器
- JSP(了解即可,企业几乎不用)
3. MVC 思想、分页、文件上传下载
实战项目
简易登录注册系统(Session 登录校验、文件上传头像、AJAX 异步校验用户名)
阶段五:主流框架(企业开发核心,30~45 天,就业核心)
5.1 MyBatis / MyBatis-Plus(持久层)
- XML 映射、动态 SQL、一对一 / 一对多关联查询
- 分页插件、逻辑删除、条件构造器 CRUD
5.2 Spring(容器核心)
IOC 控制反转、DI 依赖注入、Bean 生命周期、AOP 面向切面、事务管理 @Transactional
5.3 Spring MVC(Web 层)
请求接收、参数绑定、@RequestMapping、统一异常处理、拦截器、JSON 序列化
5.4 Spring Boot(当下企业主流,重点)
自动装配、yml 配置、整合 MyBatis-Plus、Redis、全局异常、跨域、分页
5.5 Spring Cloud / Spring Cloud Alibaba(微服务,中高级)
Nacos 注册配置中心、Feign 远程调用、Gateway 网关、Sentinel 流量限流、Seata 分布式事务
实战项目(简历核心项目)
- 单体项目:图书商城后台管理系统(SpringBoot + MyBatisPlus + Redis) 功能:登录权限、商品 CRUD、分页、分类、缓存、文件上传、统一返回格式
- 微服务项目:简易电商微服务(用户服务、商品服务、订单服务、网关、Nacos)
阶段六:企业高级技术 & 面试内功(20~30 天,区分初级 / 中级开发)
1. 开发工具与工程化
Maven 高级、Git 协作、Docker 容器、Linux 基础命令(服务器部署)
2. 中间件(面试必问)
- Redis 深度优化、分布式锁
- RabbitMQ/Kafka 消息队列:异步解耦、死信队列、消息可靠性
3. 分布式核心
分布式 Session、分布式 ID、分布式事务、接口幂等性
4. 性能优化
SQL 优化、JVM 调优(内存模型、GC 垃圾回收、G1、CMS)、代码优化、接口限流
5. 安全
Spring Security / Sa-Token 权限框架、JWT 令牌、防 XSS、SQL 注入
6. 设计模式
单例、工厂、策略、模板、观察者等常用 8 种,结合业务场景使用
7. 运维基础
Linux 服务器部署 SpringBoot 项目、日志查看、简单 Shell 脚本
阶段七:项目沉淀 + 面试刷题(贯穿全程,求职前集中突击)
- 简历打磨:2 个完整可演示项目(单体 + 微服务),突出业务难点与解决方案
- 刷题:JavaSE、并发、MySQL、Redis、Spring、微服务面试题
- 手写代码:单例、生产者消费者、HashMap 底层、二分查找、排序算法
- 项目复盘:准备项目难点、你负责模块、优化点、踩坑解决方案
总学习周期参考
- 全职全天学:3~4 个月可达到初级 Java 后端水平,可求职
- 业余下班学:6~8 个月
学习避坑指南
- 不要跳过 Java SE 直接学框架:框架底层全是反射、多线程、集合,基础差看不懂源码
- 不要只看视频不敲代码:每一个知识点必须动手写案例
- 不要忽视数据库和并发:80% 面试难点集中在多线程、MySQL、Redis
- 项目不要只做 CRUD:主动加缓存、分布式锁、限流、统一异常等高级功能提升简历含金量
岗位能力分级对照
- 初级 Java 开发:掌握 SE + SpringBoot + MySQL + MyBatisPlus,能独立写业务 CRUD
- 中级 Java 开发:掌握 Redis、MQ、微服务、JVM、SQL 优化,能独立设计接口、解决线上问题
- 高级 Java 开发:分布式架构设计、高并发调优、中间件源码阅读、架构落地