大三Java学习及实习冲刺计划(2025-2026)

一、学习阶段划分

1. Java基础强化(2-3个月)

核心内容

  • Java语法:数据类型、面向对象、异常处理、泛型、枚举、注解
  • 集合框架:List/Set/Map实现类(ArrayList/LinkedList/HashSet/HashMap等)、并发集合(ConcurrentHashMap/CopyOnWriteArrayList)
  • 多线程与并发:线程生命周期、锁机制(synchronized/ReentrantLock)、线程池(ThreadPoolExecutor)、JUC包(CountDownLatch/CyclicBarrier)
  • IO与NIO:字节流/字符流、缓冲流、文件操作、NIO的Channel/Buffer/Selector
  • 设计模式:单例、工厂、策略、观察者、装饰器、代理、模板方法等常用23种
  • JVM:内存模型、类加载机制、垃圾回收(CMS/G1)、性能调优工具(JVisualVM/JProfiler)

学习资源

  • 书籍
    • 《Java编程思想》(第4版)
    • 《Effective Java》(第3版)
    • 《深入理解Java虚拟机》(第3版)
  • 在线课程
    • Coursera《Java Programming and Software Engineering Fundamentals》
    • 极客时间《Java核心技术36讲》
  • 练习
    • LeetCode算法题(数组、链表、字符串、二叉树等基础题型)
    • 手写简易版ArrayList/HashMap,理解底层实现

2. 主流框架学习(3-4个月)

Spring & Spring Boot

  • Spring核心:IoC容器、AOP原理、事务管理、Spring MVC
  • Spring Boot:自动配置原理、Starter机制、Actuator监控、测试(@SpringBootTest)
  • 实战项目:搭建简单CRUD系统,集成日志(SLF4J/Logback)、Swagger文档

MyBatis

  • 基础:XML映射文件、动态SQL(if/foreach)、关联查询(association/collection)
  • 高级:分页插件(PageHelper)、缓存(二级缓存)、逆向工程(MyBatis Generator)

MySQL

  • SQL优化:索引设计(单列/组合索引)、执行计划(EXPLAIN)、慢查询日志
  • 事务与锁:隔离级别(Read Committed/Repeatable Read)、行锁/表锁、死锁排查
  • 主从复制:搭建MySQL主从环境,理解Binlog原理

Redis

  • 数据结构:String/Hash/List/Set/ZSet的应用场景
  • 持久化:RDB/AOF策略、混合持久化
  • 缓存设计:缓存穿透/雪崩/击穿解决方案、LRU淘汰策略
  • 分布式锁:RedLock算法实现

学习资源

  • 书籍
    • 《Spring Boot实战》(第2版)
    • 《Redis设计与实现》
    • 《高性能MySQL》(第3版)
  • 在线课程
    • 慕课网《Spring Boot 2.x从入门到实战》
    • 尚硅谷《MySQL高级教程》
  • 文档

3. 项目实战(2个月)

项目一:单体电商系统(Spring Boot + MyBatis + MySQL + Redis)

  • 功能模块
    • 用户管理(注册/登录/权限控制)
    • 商品展示与搜索(Elasticsearch可选)
    • 订单系统(分布式事务:Seata)
    • 购物车(Redis缓存)
  • 技术栈
    • 前端:Vue.js(简单页面)
    • 中间件:RabbitMQ(消息队列)
    • 部署:Docker容器化

项目二:微服务架构(Spring Cloud Alibaba)

  • 功能模块
    • 服务注册与发现(Nacos)
    • 配置中心(Nacos Config)
    • 网关(Spring Cloud Gateway)
    • 熔断降级(Sentinel)
    • 分布式事务(Seata AT模式)
  • 技术栈
    • 服务通信:Feign/RestTemplate
    • 链路追踪:Sleuth + Zipkin

项目要求

  • 使用Git进行版本控制,规范Commit Message
  • 编写单元测试和集成测试
  • 部署到云服务器(腾讯云/阿里云),配置Nginx负载均衡

二、面试准备(1-2个月)

1. 核心知识梳理

领域 重点内容
Java基础 多线程、JVM调优、集合原理(HashMap扩容机制)、反射与动态代理
框架 Spring IoC/AOP原理、Spring Boot自动装配、MyBatis缓存策略
数据库 MySQL索引优化、事务隔离级别、分库分表策略(ShardingSphere)
分布式 分布式锁、分布式事务、微服务治理(服务熔断/限流)
算法与数据结构 链表/二叉树操作、排序算法(快排/归并)、贪心/动态规划经典题型

2. 高频面试题

  • Java
    • 为什么HashMap线程不安全?ConcurrentHashMap如何实现线程安全?
    • synchronized与ReentrantLock的区别?
    • JVM垃圾回收机制,CMS和G1的区别?
  • Spring
    • Spring Bean的生命周期?
    • AOP的实现原理(JDK动态代理 vs CGLIB)?
    • Spring Boot如何实现自动装配?
  • 数据库
    • 索引失效的场景有哪些?
    • 如何避免MySQL死锁?
  • Redis
    • Redis为什么快?持久化机制如何选择?
    • 缓存雪崩和缓存穿透的解决方案?

3. 学习资源

  • 书籍
    • 《Java面试突击》(第2版)
    • 《剑指Offer》(第2版)
    • 《分布式系统设计》
  • 网站

4. 模拟面试

  • 组队练习:加入技术社群(如牛客网/CSDN),与同学模拟面试流程
  • 复盘总结:记录高频错题,整理个人面试知识库

三、时间规划表

时间段 学习内容 产出目标
2025.04-06 Java基础 + 数据结构与算法 完成LeetCode 200题,手写集合类
2025.07-09 Spring/Spring Boot + MyBatis 单体项目DEMO,单元测试覆盖率80%+
2025.10-12 MySQL + Redis + 分布式 数据库优化方案,缓存设计文档
2026.01-02 微服务项目 + 面试题整理 Spring Cloud项目部署,面经手册
2026.03-05 集中刷题 + 模拟面试 LeetCode周赛TOP 50%,3次全真模拟
2026.06-08 实习投递与入职准备 简历优化,目标公司技术栈适配

四、注意事项

  1. 理论与实践结合

    • 避免只看视频不敲代码,每学完一个知识点立即编写测试用例。
    • 使用DEBUG模式调试框架源码(如Spring Bean的创建过程)。
  2. 项目规范

    • 遵循阿里巴巴《Java开发手册》,使用SonarQube进行代码质量检测。
    • 定期进行Code Review,学习开源项目(如Spring Boot Starter)的设计思想。
  3. 实习准备

    • 提前3个月关注大厂暑期实习招聘(如字节跳动、腾讯、美团)。
    • 简历突出项目亮点(如QPS提升、问题解决案例),避免罗列技术名词。
  4. 工具链

    • IDE:IntelliJ IDEA Ultimate(企业版功能)
    • 版本控制:Git + GitHub/Gitee
    • 协作:Maven/Gradle,Docker Compose
  5. 社区参与

    • 参与技术博客写作(如掘金/CSDN)。
    • 加入Spring/MyBatis开源社区,贡献Issue或PR。

五、资源汇总

  • 书籍Java学习书单
  • 在线课程
    • Coursera专项课程《Java Programming and Software Engineering Fundamentals》
    • 极客时间《Java核心技术36讲》《Spring Boot核心技术与30个类手写实战》
  • 工具
    • Postman(API测试)
    • Docker Desktop(容器化部署)
    • Grafana + Prometheus(监控系统)