- 基础知识巩固
- Java基础:掌握基本语法、数据类型、控制结构、面向对象等核心概念。推荐学习资源:韩顺平老师的B站课程。
- Java进阶:深入学习集合框架、IO流、反射、注解等高级特性。
- Java并发:理解线程、锁、并发工具类等,为高并发项目开发打基础。
- 数据库技术
- MySQL:掌握SQL语言,包括增删改查、索引、事务等。推荐尚硅谷宋红康老师的课程。
- 其他数据库:学习MongoDB、Redis等NoSQL数据库,了解其应用场景和基本操作。
- Web开发基础
- JavaWeb:学习Servlet、JSP等基础技术,了解Web应用的基本架构。
- 前端基础:掌握HTML、CSS、JavaScript等前端技术,能够搭建简单的前端页面。
- 开发框架学习
- Spring框架:学习Spring的IoC、AOP等核心功能,理解其原理和使用方法。
- SpringMVC:掌握SpringMVC的控制器、视图解析器等组件,能够开发RESTful API。
- MyBatis:学习MyBatis的映射器、SQL会话等,实现Java与数据库的高效交互。
- Spring Boot快速开发
- Spring Boot基础:了解Spring Boot的自动配置、Starters等特性,快速搭建项目。
- 集成开发:学习Spring Boot与数据库、Web框架、安全框架等的集成。
- 高级特性:掌握Spring Boot的Actuator、Profiles等高级功能。
- 微服务架构与Spring Cloud
- 微服务概念:理解微服务架构的优势和适用场景。
- Spring Cloud组件:学习Eureka、Ribbon、Feign、Hystrix等组件,实现服务注册、发现、调用、熔断等功能。
- Spring Cloud Alibaba:掌握Nacos、Sentinel、Seata等组件,构建高可用的微服务架构。
实践项目
- Spring Boot项目
- 编程实战项目:从简单的“Hello World”应用开始,逐步实现功能更复杂的Spring Boot项目。
- 技术派社区系统:基于Spring Boot、MyBatis-Plus、MySQL、Redis等技术栈,开发一个完整的社区系统。
- 电商秒杀系统:如SecKill项目,结合Spring Boot、MyBatis、Redis等技术,实现高并发的秒杀功能。
- Spring Cloud项目
- 工作流项目:采用Spring Cloud、Gateway、Nacos、Sentinel等技术,构建企业级的微服务项目。
- 微服务商城系统:如mall-swarm项目,使用Spring Cloud、Spring Boot、Elasticsearch等技术,搭建完整的电商微服务架构。
面试八股文
- Java基础
- 线程与并发:线程的创建、启动、同步机制,以及线程池的使用。
- JVM原理:垃圾回收机制、内存模型、类加载机制等。
- 数据结构与算法:常见的数据结构(如数组、链表、栈、队列、树等)和算法(如排序、搜索等)。
- Spring相关
- Spring IoC与AOP:原理、使用场景、注解配置等。
- Spring Boot自动配置:原理、如何自定义自动配置。
- Spring Security:认证、授权机制,OAuth2的实现。
- 数据库
- MySQL:事务隔离级别、索引优化、存储引擎等。
- Redis:数据结构、持久化机制、事务与Lua脚本。
- 数据库中间件:如ShardingSphere的分库分表、读写分离。
- 微服务架构
- Spring Cloud组件:Eureka、Ribbon、Feign、Hystrix的工作原理和使用。
- 服务注册与发现:实现机制、注册中心的选择(如Eureka、Consul、Nacos)。
- 分布式事务:两阶段提交、补偿事务、本地消息表等解决方案。
- 计算机网络与操作系统
- 网络协议:TCP/IP协议栈、HTTP/HTTPS协议。
- 操作系统:进程与线程、内存管理、文件系统。