学习路线:
学习目标:
60天能完成理论全覆盖的学习,最后能上手独立做项目。
建议项目:
项目名称:前端监控系统(Frontend Monitor System)
项目目标:实现一个完整的前端监控平台,包括:
-
SDK:前端数据采集与上报
-
服务端:数据接收、处理、存储
-
分析平台:数据展示、告警、问题追踪
涉及技术:JavaScript SDK、Spring Boot、Kafka、Redis、ElasticSearch、MySQL、Vue3
学习计划:
Java后端开发系统学习计划(60天完整版)
学习建议
-
每天学习时间:3-4小时(理论+实践)
-
代码实践:每个知识点都要动手写代码
-
周末复习:周六复习本周内容,周日休息或补进度
\
| 阶段 | 周次 | 天数 | 学习目标 | 核心内容 | 实践产出 (width(226)) | 前端监控项目产出 | 完成打卡 |
|---|---|---|---|---|---|---|---|
| 第一阶段:Java基础核心 | 第1周 | 第1-2天 | Lambda表达式与Stream基础 | Lambda语法、函数式接口、Stream中间操作(map/filter) | 集合过滤、转换练习 | ||
| 第3-4天 | Stream高级与Optional | collect收集器、方法引用、Optional空值处理 | 分组统计、空指针优化 | ||||
| 第5-7天 | 集合框架源码 | ArrayList扩容机制、HashMap底层结构、扩容机制 | 手写简易ArrayList、模拟HashMap扩容 | ||||
| 第2周 | 第8-9天 | 时间API与IO | LocalDateTime、DateTimeFormatter、文件读写、缓冲流 | 日期工具类、文件复制功能 | |||
| 第10-11天 | NIO与网络编程 | Buffer/Channel、Socket编程、BIO vs NIO | 简单聊天室、NIO文件复制 | ||||
| 第12天 | JUC并发容器入门 | ConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue | 生产者-消费者模式 | ||||
| 第二阶段:MySQL与MyBatis | 第3周 | 第13-14天 | 索引与事务 | B+Tree索引、事务ACID、隔离级别、MVCC | 分析SQL索引使用、演示隔离级别 | ||
| 第15-16天 | 锁机制与SQL优化 | 行锁/表锁/间隙锁、EXPLAIN、慢查询优化 | 模拟死锁、优化慢SQL | ||||
| 第17天 | 分库分表与主从复制 | 垂直/水平分片、ShardingSphere、主从复制原理 | 配置MySQL主从复制 | ||||
| 第4周 | 第18-19天 | MyBatis基础与动态SQL | #{}与${}区别、if/foreach/choose标签 | 多条件查询、批量插入 | 项目替换为监控系统的数据表设计与MyBatis操作 | ||
| 第20天 | 关联映射 | resultMap、association、collection、延迟加载 | 订单-用户-商品关联查询 | ^ | |||
| 第21-22天 | MyBatis-Plus | BaseMapper、条件构造器、代码生成器、分页插件 | 生成完整项目代码 | ^ | |||
| 第23-24天 | 项目实战 | 博客系统:用户/文章模块、CRUD实现 | 完成博客系统基础功能 | 设计监控数据表结构:错误日志、性能数据、用户行为、告警规则等 使用MyBatis-Plus完成CRUD | |||
| 第三阶段:Spring生态体系 | 第5周 | 第25-26天 | Spring Boot入门与核心注解 | @SpringBootApplication、配置文件、@Autowired | 搭建第一个Web应用 | ||
| 第27天 | 自动配置原理 | starter机制、@Conditional、自定义starter | 查看DataSource自动配置源码 | ||||
| 第28天 | 日志与单元测试 | Logback配置、JUnit 5、MockMvc | 编写Controller测试用例 | ||||
| 第6周 | 第29-30天 | Nacos | 服务注册与发现、配置中心、动态刷新 | 注册两个服务、配置热更新 | |||
| 第31-32天 | 服务调用与负载均衡 | OpenFeign、Ribbon负载均衡策略 | 订单服务调用用户服务 | ||||
| 第7周 | 第33天 | Sentinel | 流量控制、熔断降级、@SentinelResource | 配置限流规则 | |||
| 第34天 | Gateway | 路由配置、全局过滤器、跨域、限流 | 搭建网关服务 | ||||
| 第35天 | 链路追踪 | Skywalking、Sleuth + Zipkin | 追踪微服务调用链 | ||||
| 第8周 | 第36-39天 | 微服务项目实战 | 多模块搭建、服务调用、网关统一鉴权、熔断降级 | 完成完整微服务项目 | 完成监控系统后端服务 | ||
| 第36 | **监控项目-数据接收服务:**搭建监控数据接收服务(Data Receiver Service) - 实现SDK上报接口 - 数据校验与预处理 | ||||||
| 第37 | **监控项目-统一认证与鉴权:**实现API Key管理、限流控制 | ||||||
| 第38 | 监控项目-告警服务 :实现告警规则判断、告警推送 | ||||||
| 第39 | **监控项目-第一阶段整合:**完成数据接收服务、数据库存储、告警基础功能 | ||||||
| 第40天 | 复习总结 | 整合测试、问题排查、知识梳理 | 项目文档、知识脑图 | ||||
| 第四阶段:中间件深度理解 | 第9周 | 第41天 | Redis数据类型 | String/Hash/List/Set/ZSet应用场景 | 实现排行榜、标签系统 | **监控项目-Redis应用:**将Redis应用到监控项目中 | |
| 第42天 | Redis实现接口限流、数据缓存 | ||||||
| 第43天 | 持久化与淘汰策略 | RDB/AOF、过期策略、LRU/LFU | 配置持久化策略 | Redis HyperLogLog做UV统计、ZSet做排行榜 | |||
| 第44天 | 缓存问题与分布式锁 | 穿透/击穿/雪崩解决方案、Redisson分布式锁 | 实现分布式锁 | 定时任务分布式锁,防止重复执行 | |||
| 第10周 | 第45天 | Kafka | Topic/Partition、Consumer Group、消息可靠性 | 创建Topic、配置acks | **监控项目-消息队列与调度:**用Kafka实现异步上报,XXL-JOB做定时统计 | ||
| 第46天 | SDK数据上报改用Kafka,削峰填谷 | ||||||
| 第47天 | XXL-JOB | 任务类型、路由策略、任务分片、失败重试 | 定时数据同步任务 | XXL-JOB实现:数据聚合、报表生成、告警扫描 | |||
| 第11周 | 第48天 | ElasticSearch | 倒排索引、DSL查询、聚合分析、与MySQL同步 | 商品搜索功能 | 监控项目-搜索引擎与存储 :用ES存储日志数据,实现全文搜索 | ||
| 第49天 | 错误日志、性能数据存入ES,实现全文检索 | ||||||
| 第50天 | EMQX与FastDFS | 发布订阅、QoS级别、文件上传下载、高可用部署 | 搭建FastDFS、文件上传 | ES集群部署,canal同步部分数据 | |||
| 第51天 | FastDFS存储SourceMap文件,便于错误定位 | ||||||
| 第12周 | 第52-53天 | JUC深入 | ConcurrentHashMap源码、线程池参数、ReentrantLock、CountDownLatch | 自定义线程池、多线程统计 | 监控项目-并发优化与集成 :优化数据接收服务并发处理能力 | ||
| 第54天 | 项目集成中间件 | Redis/Kafka/ES集成到微服务项目 | 完成中间件集成 | 完成Redis/Kafka/ES/FastDFS全部集成 | |||
| 第五阶段:运维部署与规范 | 第13周 | 第55天 | Nginx | 反向代理、负载均衡、SSL证书、跨域配置 | 配置反向代理和负载均衡 | 监控项目-容器化部署 :将监控系统完整部署到Docker | |
| 第56-57天 | Docker | Dockerfile、数据卷、网络模式、Docker Compose编排 | Docker化应用、Compose部署 | Docker Compose部署全套服务(应用+MySQL+Redis+Kafka+ES) | |||
| 第14周 | 第58天 | 开发工具 | Maven/Git/Jenkins/SonarQube/Arthas | CI/CD流程搭建、线上问题排查 | **监控项目-前端SDK开发:**补充前端SDK开发,完善项目闭环 (开发JavaScript监控SDK:错误捕获、性能采集、数据上报) | ||
| 第59天 | 代码规范 | 阿里编码规约、日志规范、异常处理、RESTful设计 | 规范现有代码 | ||||
| 第60天 | 总复习 | 知识体系梳理、面试题演练、简历优化 | 面试题库、简历定稿 | 完整演示监控系统,输出项目文档 | |||
第一阶段:Java基础核心(第1-12天)
Week 1:Lambda、Stream、集合框架
第1天:Lambda表达式
-
学习目标:掌握Lambda语法和函数式接口
-
具体内容:
-
Lambda语法格式:
(参数) -> {代码} -
函数式接口:
@FunctionalInterface -
内置函数式接口:
Predicate、Consumer、Function、Supplier -
实践:用Lambda实现Comparator排序
-
第2天:Stream API基础
-
学习目标:掌握Stream的创建和中间操作
-
具体内容:
-
Stream的创建:
stream()、of()、iterate() -
中间操作:
map、filter、distinct、sorted、limit、skip -
实践:对集合进行过滤、转换、去重操作
-
第3天:Stream API高级
-
学习目标:掌握终端操作和collect收集器
-
具体内容:
-
终端操作:
forEach、reduce、count、anyMatch等 -
collect方法:Collectors.toList()、toMap()、groupingBy()、joining() -
实践:实现分组统计、汇总计算
-
第4天:方法引用与Optional
-
学习目标:掌握方法引用和Optional使用
-
具体内容:
-
方法引用:
类名::静态方法、对象::实例方法、类名::new -
Optional:
of()、ofNullable()、map()、orElse()、orElseThrow() -
实践:用Optional避免空指针异常
-
第5天:集合框架-ArrayList
-
学习目标:掌握ArrayList底层原理
-
具体内容:
-
ArrayList源码:初始容量10、扩容机制(1.5倍)
-
add()、remove()、get()的时间复杂度 -
与LinkedList的区别
-
实践:手写简易ArrayList
-
第6天:集合框架-HashMap(上)
-
学习目标:掌握HashMap底层结构
-
具体内容:
-
HashMap数据结构:数组+链表+红黑树
-
哈希算法:
hash()方法、indexFor()方法 -
put流程:计算hash → 定位桶 → 插入
-
实践:跟踪put操作源码
-
第7天:集合框架-HashMap(下)
-
学习目标:掌握HashMap扩容和红黑树转换
-
具体内容:
-
扩容机制:resize()方法、负载因子0.75
-
链表转红黑树阈值:8
-
红黑树转链表阈值:6
-
线程安全问题:ConcurrentHashMap
-
实践:模拟HashMap扩容过程
-
Week 2:JUC基础、时间API、IO/NIO
第8天:时间API
-
学习目标:掌握Java 8时间API
-
具体内容:
-
LocalDate、LocalTime、LocalDateTime
-
日期格式化:
DateTimeFormatter -
时间操作:
plusDays()、minusHours()、withMonth() -
时间戳:
Instant、Duration、Period -
实践:实现日期工具类
-
第9天:I/O基础
-
学习目标:掌握文件读写操作
-
具体内容:
-
File类:创建、删除、遍历目录
-
字节流:
FileInputStream、FileOutputStream -
字符流:
FileReader、FileWriter -
缓冲流:
BufferedReader、BufferedWriter -
实践:实现文件复制功能
-
第10天:NIO基础
-
学习目标:掌握NIO核心组件
-
具体内容:
-
Buffer:
ByteBuffer、allocate()、flip()、clear() -
Channel:
FileChannel、read()、write() -
直接内存:
allocateDirect() -
实践:用NIO实现文件复制,对比IO性能
-
第11天:网络编程基础
-
学习目标:掌握Socket编程
-
具体内容:
-
TCP编程:ServerSocket、Socket
-
多线程处理客户端请求
-
BIO vs NIO 对比
-
实践:实现简单的聊天室
-
第12天:JUC并发容器入门
-
学习目标:了解并发容器
-
具体内容:
-
ConcurrentHashMap基本使用
-
CopyOnWriteArrayList原理
-
BlockingQueue:ArrayBlockingQueue、LinkedBlockingQueue
-
实践:生产者-消费者模式
-
第二阶段:MySQL与MyBatis(第13-24天)
Week 3:MySQL核心原理
第13天:MySQL基础与索引
-
学习目标:掌握索引原理
-
具体内容:
-
B+Tree索引结构
-
聚集索引 vs 非聚集索引
-
索引覆盖、最左前缀原则
-
索引失效场景
-
实践:分析SQL索引使用情况
-
第14天:事务与隔离级别
-
学习目标:掌握事务ACID和隔离级别
-
具体内容:
-
ACID特性详解
-
四种隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE
-
脏读、不可重复读、幻读
-
MVCC机制
-
实践:演示不同隔离级别下的问题
-
第15天:锁机制
-
学习目标:掌握MySQL锁
-
具体内容:
-
行锁、表锁、间隙锁、临键锁
-
共享锁、排他锁
-
死锁检测与解决
-
乐观锁 vs 悲观锁
-
实践:模拟死锁场景
-
第16天:SQL优化
-
学习目标:掌握SQL优化技巧
-
具体内容:
-
EXPLAIN执行计划:type、key、rows、Extra
-
慢查询日志开启与分析
-
索引优化策略
-
分页优化、join优化
-
实践:优化慢SQL
-
第17天:分库分表与主从复制
-
学习目标:掌握分库分表原理
-
具体内容:
-
垂直分库、水平分表
-
ShardingSphere简介
-
分片键选择、分片算法
-
主从复制原理
-
实践:配置MySQL主从复制
-
Week 4:MyBatis与MyBatis-Plus
第18天:MyBatis基础
-
学习目标:掌握MyBatis基本使用
-
具体内容:
-
环境搭建:依赖配置、mybatis-config.xml
-
映射文件:select、insert、update、delete
-
#{}和${}的区别
-
实践:完成CRUD操作
-
第19天:MyBatis动态SQL
-
学习目标:掌握动态SQL标签
-
具体内容:
-
if、choose、when、otherwise
-
where、set、trim
-
foreach
-
实践:实现多条件查询、批量插入
-
第20天:MyBatis关联映射
-
学习目标:掌握一对一、一对多映射
-
具体内容:
-
resultMap自定义映射
-
association:一对一
-
collection:一对多
-
延迟加载
-
实践:实现订单-用户-商品关联查询
-
第21天:MyBatis-Plus基础
-
学习目标:掌握MyBatis-Plus基础功能
-
具体内容:
-
快速搭建:@TableName、@TableId、@TableField
-
BaseMapper:CRUD方法
-
条件构造器:QueryWrapper、LambdaQueryWrapper
-
实践:使用MP完成CRUD
-
第22天:MyBatis-Plus高级特性
-
学习目标:掌握MP高级功能
-
具体内容:
-
代码生成器:AutoGenerator
-
分页插件:PaginationInterceptor
-
逻辑删除:@TableLogic
-
乐观锁插件:@Version
-
实践:生成完整项目代码
-
第23天:第一阶段项目实战(上)
-
学习目标:综合运用所学知识
-
项目内容:实现一个简单的博客系统
-
用户模块:注册、登录
-
文章模块:发布、查询、修改、删除
-
数据库设计、MyBatis-Plus操作
-
实践:完成项目基础框架搭建
-
第24天:第一阶段项目实战(下)
-
学习目标:完善项目并总结
-
具体内容:
-
添加Redis缓存(预习)
-
完成所有功能测试
-
代码规范检查
-
复习本周知识
-
第三阶段:Spring生态体系(第25-40天)
Week 5:Spring Boot基础
第25天:Spring Boot入门
-
学习目标:掌握Spring Boot快速搭建
-
具体内容:
-
创建Spring Boot项目:Spring Initializr
-
核心注解:@SpringBootApplication
-
配置文件:application.yml语法
-
实践:搭建第一个Web应用
-
第26天:Spring Boot核心注解
-
学习目标:掌握常用注解
-
具体内容:
-
@RestController、@RequestMapping
-
@Service、@Repository、@Component
-
@Autowired、@Resource、@Qualifier
-
@ConfigurationProperties、@Value
-
实践:完成用户注册接口
-
第27天:自动配置与starter机制
-
学习目标:理解自动配置原理
-
具体内容:
-
@EnableAutoConfiguration
-
spring.factories文件
-
@Conditional系列注解
-
starter机制:自定义starter
-
实践:查看DataSource自动配置源码
-
第28天:日志框架与单元测试
-
学习目标:掌握日志配置和测试
-
具体内容:
-
Logback配置:logback-spring.xml
-
日志级别、输出格式、文件滚动
-
JUnit 5:@Test、@BeforeEach、@AfterEach
-
MockMvc:Web层测试
-
实践:编写Controller测试用例
-
Week 6:Spring Cloud微服务(上)
第29天:Nacos服务注册与发现
-
学习目标:掌握服务注册中心
-
具体内容:
-
Nacos安装与启动
-
服务注册:@EnableDiscoveryClient
-
服务发现:DiscoveryClient
-
健康检查机制
-
实践:注册两个服务到Nacos
-
第30天:Nacos配置中心
-
学习目标:掌握配置中心使用
-
具体内容:
-
配置文件管理:Data ID、Group
-
配置动态刷新:@RefreshScope
-
多环境配置:dev、prod
-
配置共享:shared-configs
-
实践:实现配置热更新
-
第31天:OpenFeign服务调用
-
学习目标:掌握声明式HTTP客户端
-
具体内容:
-
OpenFeign基础:@FeignClient
-
参数传递:@RequestParam、@PathVariable、@RequestBody
-
超时配置、重试机制
-
日志配置
-
实践:实现订单服务调用用户服务
-
第32天:Ribbon负载均衡
-
学习目标:理解负载均衡策略
-
具体内容:
-
Ribbon核心原理
-
负载均衡策略:轮询、随机、权重、响应时间
-
自定义负载均衡规则
-
实践:修改默认负载均衡策略
-
Week 7:Spring Cloud微服务(下)
第33天:Sentinel流量控制
-
学习目标:掌握服务熔断降级
-
具体内容:
-
Sentinel控制台安装
-
流量控制规则:QPS、线程数
-
熔断降级规则:慢调用比例、异常比例、异常数
-
@SentinelResource注解
-
实践:配置限流规则
-
第34天:Spring Cloud Gateway
-
学习目标:掌握网关配置
-
具体内容:
-
Gateway基础:路由、断言、过滤器
-
路由配置:静态路由、动态路由
-
全局过滤器、局部过滤器
-
跨域配置、限流配置
-
实践:搭建网关服务
-
第35天:链路追踪
-
学习目标:掌握分布式链路追踪
-
具体内容:
-
Skywalking部署
-
接入Java应用
-
调用链查看
-
Sleuth + Zipkin集成
-
实践:追踪微服务调用链
-
Week 8:Spring生态项目实战
第36天:微服务项目搭建
-
学习目标:搭建完整微服务项目
-
具体内容:
-
创建父工程、模块划分
-
公共模块:common、api
-
用户服务、订单服务、商品服务
-
实践:完成项目骨架
-
第37天:服务间调用与配置中心
-
学习目标:实现服务间协作
-
具体内容:
-
OpenFeign服务调用
-
Nacos配置中心集成
-
分布式ID生成
-
实践:实现下单流程
-
第38天:网关与安全
-
学习目标:实现网关统一管理
-
具体内容:
-
Gateway路由配置
-
统一鉴权过滤器
-
跨域配置
-
实践:完成网关配置
-
第39天:Sentinel熔断降级
-
学习目标:实现服务保护
-
具体内容:
-
配置限流规则
-
配置熔断规则
-
降级处理逻辑
-
实践:模拟服务异常降级
-
第40天:项目整合与复习
-
学习目标:整合所有组件
-
具体内容:
-
完整测试微服务调用链
-
问题排查与修复
-
复习Spring生态知识
-
第四阶段:中间件深度理解(第41-54天)
Week 9:Redis
第41天:Redis基础与数据类型
-
学习目标:掌握Redis安装与数据类型
-
具体内容:
-
Redis安装与配置
-
String:set、get、incr、分布式锁
-
Hash:hset、hget、对象存储
-
List:lpush、rpop、消息队列
-
实践:使用每种数据类型
-
第42天:Redis高级数据类型
-
学习目标:掌握Set、ZSet、HyperLogLog
-
具体内容:
-
Set:sadd、sinter、标签系统
-
ZSet:zadd、zrange、排行榜
-
HyperLogLog:pfadd、pfcount、UV统计
-
实践:实现文章标签、排行榜
-
第43天:Redis持久化与淘汰策略
-
学习目标:掌握Redis核心机制
-
具体内容:
-
RDB:save、bgsave、优缺点
-
AOF:appendfsync、rewrite
-
过期策略:惰性删除、定期删除
-
淘汰策略:LRU、LFU、volatile-lru
-
实践:配置持久化策略
-
第44天:Redis缓存问题
-
学习目标:掌握缓存问题解决方案
-
具体内容:
-
缓存穿透:布隆过滤器、空值缓存
-
缓存击穿:互斥锁、逻辑过期
-
缓存雪崩:过期时间随机、高可用
-
分布式锁:SETNX、Redisson
-
实践:实现分布式锁
-
Week 10:Kafka与XXL-JOB
第45天:Kafka核心概念
-
学习目标:掌握Kafka基础架构
-
具体内容:
-
Kafka安装与启动
-
Topic、Partition、Offset
-
Producer、Consumer、Broker
-
Consumer Group
-
实践:创建Topic,发送消息
-
第46天:Kafka可靠性
-
学习目标:掌握消息可靠性保证
-
具体内容:
-
消息丢失场景及解决方案
-
消息重复消费:幂等性
-
顺序消息实现
-
事务消息
-
实践:配置acks和retries
-
第47天:XXL-JOB分布式调度
-
学习目标:掌握XXL-JOB使用
-
具体内容:
-
XXL-JOB部署
-
Bean模式任务
-
GLUE模式任务
-
路由策略:轮询、分片、故障转移
-
阻塞处理策略、失败重试
-
实践:实现定时数据同步任务
-
Week 11:ElasticSearch与EMQX
第48天:ElasticSearch基础
-
学习目标:掌握ES核心概念
-
具体内容:
-
ES安装与Kibana
-
倒排索引原理
-
索引、类型、文档、映射
-
分词器:ik分词器
-
实践:创建索引、添加文档
-
第49天:ES查询与分析
-
学习目标:掌握ES查询语法
-
具体内容:
-
DSL查询:term、match、bool
-
聚合分析:terms、avg、date_histogram
-
排序、分页、高亮
-
实践:实现商品搜索功能
-
第50天:ES集群与数据同步
-
学习目标:掌握ES集群架构
-
具体内容:
-
集群架构:节点类型、分片、副本
-
与MySQL数据同步:canal、logstash
-
实践:配置canal同步数据
-
第51天:EMQX与FastDFS
-
学习目标:了解物联网消息与文件存储
-
具体内容:
-
EMQX:发布订阅、QoS级别、保留消息、共享订阅
-
FastDFS:Tracker、Storage架构
-
文件上传下载流程
-
高可用部署
-
实践:搭建FastDFS,实现文件上传
-
Week 12:JUC深入与项目实战
第52天:JUC并发容器与线程池
-
学习目标:深入掌握并发容器
-
具体内容:
-
ConcurrentHashMap源码:put、扩容
-
CopyOnWriteArrayList原理
-
BlockingQueue详解
-
ThreadPoolExecutor参数详解
-
四种拒绝策略
-
实践:自定义线程池
-
第53天:JUC锁与同步工具
-
学习目标:掌握锁机制和同步工具
-
具体内容:
-
ReentrantLock:公平/非公平、condition
-
ReadWriteLock
-
CountDownLatch、CyclicBarrier
-
AtomicInteger原理:CAS
-
实践:实现多线程统计
-
第54天:项目集成中间件
-
学习目标:将中间件集成到项目
-
具体内容:
-
Redis缓存集成
-
Kafka消息队列集成
-
ES搜索功能集成
-
实践:完成项目中间件集成
-
第五阶段:运维部署与规范(第55-60天)
Week 13:运维部署
第55天:Nginx
-
学习目标:掌握Nginx配置
-
具体内容:
-
正向代理 vs 反向代理
-
负载均衡策略:轮询、权重、ip_hash
-
location匹配规则
-
SSL证书配置
-
跨域配置
-
实践:配置反向代理和负载均衡
-
第56天:Docker基础
-
学习目标:掌握Docker基本操作
-
具体内容:
-
镜像、容器、仓库
-
Dockerfile编写
-
数据卷:挂载
-
网络模式:bridge、host
-
实践:Docker化Spring Boot应用
-
第57天:Docker Compose
-
学习目标:掌握多容器编排
-
具体内容:
-
docker-compose.yml编写
-
多服务部署:应用+MySQL+Redis
-
环境变量传递
-
日志管理
-
实践:使用Compose部署整套应用
-
Week 14:工具与规范
第58天:开发工具
-
学习目标:掌握必备开发工具
-
具体内容:
-
Maven/Gradle:依赖管理、多模块构建
-
Git:分支管理策略、commit规范、代码审查
-
Jenkins:CI/CD流程搭建
-
SonarQube:代码质量检查
-
Postman/Apifox:接口测试
-
Arthas:线上问题排查
-
第59天:代码规范
-
学习目标:掌握编码规范
-
具体内容:
-
阿里编码规约
-
日志规范:log4j2/logback
-
异常处理规范
-
接口设计规范:RESTful
-
数据库设计规范
-
实践:规范现有代码
-
第60天:总复习与总结
-
学习目标:全面复习
-
具体内容:
-
梳理知识体系脑图
-
重点难点回顾
-
面试题演练
-
简历优化建议
-
制定后续学习方向
-
附录:学习资源推荐
书籍
-
《Java核心技术》
-
《Java并发编程实战》
-
《深入理解Java虚拟机》
-
《Spring Boot实战》
-
《Redis深度历险》
视频课程
- 尚硅谷、黑马程序员系列
练习平台
-
LeetCode(算法)
-
GitHub(代码仓库)
-
牛客网(面试题)