Java 学习路线执行计划表(每周任务具体化)

lishihuan大约 4 分钟

Java 学习路线执行计划表(每周任务具体化)

🎯 目标:系统掌握 Java 后端开发核心知识,夯实概念 + 实战能力
🧭 适合对象:能写业务但对核心原理不熟,如 IOC、AOP、事务、异常、多线程等
⏰ 周期:12 周,每天 1~2 小时


✅ 每周任务清单

第 1 周:Java 核心语法 + 面向对象

  • 学习内容:
    • 阅读:《Java 编程思想》第 1~2 章 或 狂神说 Java 基础前 5 集
    • 视频学习:B 站狂神 Java 基础(语法 + 面向对象)
    • 练习:
      • 编写类:学生类 + 管理类,包含添加、删除、查找、排序方法
      • 熟练使用 IDEA 创建项目、调试程序、使用 JavaDoc
    • 每日任务示例:
      • D1:变量/流程控制/数组,编写一个数组最大值函数
      • D2:封装、继承、多态,写一个动物类继承关系 demo
      • D3:接口、抽象类,模拟 USB 接口和不同实现类

第 2 周:异常处理 + 包装类 + JVM 内存模型

  • 学习内容:
    • 阅读 Java Guide:异常处理篇、Java 内存结构
    • 练习:
      • 自定义异常类:参数校验失败抛出异常
      • 编写工具类:类型转换 + 自动装箱演示
      • 使用 jvisualvm 查看运行时内存情况
    • 每日任务:
      • D1:try-catch-finally 使用 + 练习
      • D2:throw/throws 区别 + 多层异常封装
      • D3:封装一个工具类 AssertUtil 抛出业务异常

第 3 周:IDEA + Maven + 工具类封装

  • 学习内容:
    • 安装 IDEA 插件:Lombok、CheckStyle、Alibaba Java Coding Guidelines
    • 使用 Maven 创建标准项目,了解 pom.xml 配置
    • 编写工具类:
      • StringUtil:空判断、驼峰转下划线
      • FileUtil:读取本地文件、复制文件
    • 每日任务:
      • D1:熟悉 Maven 项目结构 + 引入 hutool 工具类
      • D2:用 Maven 引入 commons-lang3,使用 StringUtils
      • D3:封装一个简易日志打印工具类

第 4 周:IOC 与依赖注入

  • 学习内容:
    • 阅读 Spring 官方文档 “What is Spring IoC”
    • 视频:B站 黑马 IOC + 注解开发章节
    • 实战:
      • 搭建 Spring Boot Demo 项目
      • 创建两个 Service,通过 @Autowired 注入调用
    • 每日任务:
      • D1:理解 Bean 容器、用 @Component 定义类
      • D2:用 @Configuration + @Bean 手动注册 Bean
      • D3:用构造方法注入 + Lombok + @RequiredArgsConstructor

第 5 周:AOP 和事务

  • 学习内容:
    • 了解横切逻辑、动态代理、Spring AOP 实现方式
    • 使用 @Aspect 实现日志打印
    • 使用 @Transactional 控制数据库事务,了解回滚条件
  • 实战:
    • 添加一个接口 + 日志切面,输出入参/响应
    • 创建用户注册逻辑,在异常下自动回滚
    • 用 try-catch 包裹事务代码,观察回滚与否
  • 每日任务:
    • D1:打印方法调用日志
    • D2:模拟异常抛出 + 事务回滚
    • D3:分析事务传播机制(REQUIRED、REQUIRES_NEW)

第 6 周:Spring Boot 快速开发

  • 搭建简单 REST 接口项目
    • 创建 REST Controller + Service + DTO 模型
    • 参数校验 @Validated @NotBlank
    • 返回统一响应封装类(code/msg/data)
    • 使用全局异常处理 @ControllerAdvice
  • 实战:
    • 完成一个“用户注册 + 查询接口”
    • 本地跑通 + Postman 测试 + 异常情况覆盖

第 7 周:登录流程 + 安全认证

  • 学习内容:
    • 登录流程:输入账号密码 → 认证 → 签发 Token → 请求校验
    • JWT 实现方式、过滤器、拦截器区别
    • 使用 ThreadLocal 保存当前登录用户
  • 实战:
    • 登录接口:返回 JWT Token
    • 拦截器验证 token,有效则放行并设置上下文
    • 登录用户信息通过 ThreadLocal 传递到业务层

第 8 周:MyBatis 与 MyBatis-Plus

  • 学习内容:
    • 配置数据库、连接池 Druid、分页插件
    • 编写实体类 + Mapper + XML/注解 SQL
    • 用 Wrapper 实现多条件查询
  • 实战:
    • 实现用户分页查询 + 模糊搜索 + 创建/删除功能
    • 编写 service 层 + 分页逻辑复用封装

第 9 周:Redis 缓存机制

  • 学习内容:
    • 使用 Redis Desktop Manager 查看数据
    • 学习缓存三大问题:穿透、击穿、雪崩
    • 封装缓存注解:支持过期、随机时间
  • 实战:
    • 缓存用户信息(模拟用户详情缓存)
    • 手动缓存 + 缓存注解 + @Cacheable 封装
    • 模拟缓存失效和重建

第 10 周:多线程与并发控制

  • 学习内容:
    • 多线程三种创建方式
    • 线程同步与锁:synchronized、ReentrantLock
    • 线程池 Executor + 异步任务 @Async
  • 实战:
    • 实现批量 Excel 导入时用线程池分片处理数据
    • 输出日志验证线程并发执行
    • 手动提交事务,模拟多线程写库

第 11 周:分页查询 + 异步任务 + 定时任务

  • 分页查询:
    • MyBatis-Plus Page 分页对象使用
    • 自定义分页封装 PageResult
  • 异步任务:
    • 开启线程池 + 使用 @Async 异步方法执行
  • 定时任务:
    • 使用 @Scheduled 执行周期任务(如导入任务清理)
  • 实战:做一个“异步导入 Excel + 定时任务清理历史数据”的模块

第 12 周:项目整合 + 总结提升

  • 项目整合:
    • 整合用户模块 + 登录模块 + 缓存 + 分页 + 异步导入
    • 自测接口 + JUnit 测试
  • 总结:
    • 复盘学过的 IOC、AOP、事务、缓存、多线程
    • 整理一份“Java 后端核心知识脑图”
  • 后续方向建议:
    • 微服务(Spring Cloud)、分布式事务(Seata)
    • 消息队列(RabbitMQ/Kafka)、Docker、DevOps