Skip to content

ppw2004/java-architecture-learning

Repository files navigation

Java架构学习路径

系统化学习Java架构,从零基础到架构师的完整路径

📂 项目结构

java-architecture-learning/
├── 00-开发环境搭建/           # 环境配置指南和检查脚本
├── 01-plans/                 # 📋 学习计划(总体规划、阶段计划、每日计划)
├── 02-progress/              # 📊 学习进度追踪(清单、时间线、里程碑)
├── 03-notes/                 # 📝 学习笔记(按15个模块组织)
├── 04-examples/              # 💻 示例代码(可运行的独立程序)
├── 05-projects/              # 🚀 项目实战(练习项目 + 综合项目)
├── 06-resources/             # 🔖 资源整理(AI对话、代码片段、书籍、工具)
├── 07-review/                # 🔄 复习与总结(周/月总结、知识复习)
└── README.md                 # 本文件

📚 学习目录

00. 开发环境搭建

  • JDK安装与配置
  • IDE选择与配置(IDEA/Eclipse)
  • Maven/Gradle构建工具
  • Git版本控制
  • 常用开发工具

01. Java基础

  • Java集合框架
  • IO/NIO/AIO
  • 反射与注解
  • 泛型与枚举
  • Lambda表达式与Stream API
  • 异常处理机制

02. 设计模式

  • 创建型模式(单例、工厂、建造者等)
  • 结构型模式(代理、适配器、装饰器等)
  • 行为型模式(策略、观察者、模板方法等)
  • 设计原则(SOLID)
  • 实战案例

03. 并发编程

  • 线程基础与生命周期
  • 锁机制(synchronized、ReentrantLock)
  • 并发工具类(CountDownLatch、Semaphore等)
  • 线程池原理与调优
  • 并发容器(ConcurrentHashMap等)
  • volatile与CAS
  • AQS原理

04. JVM调优

  • JVM内存模型
  • 垃圾回收算法与收集器
  • 类加载机制
  • JVM参数配置
  • 性能监控工具
  • 内存泄漏分析与调优实战

05. 框架源码

  • Spring Core(IoC/AOP)
  • Spring MVC
  • Spring Boot自动配置
  • MyBatis缓存与插件机制
  • Netty事件循环

06. 分布式架构

  • 分布式理论基础(CAP、BASE)
  • 分布式ID生成
  • 分布式锁
  • 分布式事务
  • RPC框架原理
  • 服务注册与发现

07. 微服务架构

  • Spring Cloud全家桶
  • 服务网关(Gateway)
  • 服务限流、熔断、降级
  • 配置中心
  • 链路追踪
  • 微服务监控

08. 数据库优化

  • MySQL索引优化
  • SQL调优
  • 事务隔离级别
  • 锁机制
  • 分库分表
  • 读写分离
  • 连接池配置

09. 缓存架构

  • Redis基础与高级特性
  • 缓存穿透/击穿/雪崩
  • 分布式缓存
  • 缓存一致性策略
  • 多级缓存架构
  • 本地缓存(Caffeine/Guava)

10. 消息队列

  • Kafka核心原理
  • RabbitMQ
  • 消息可靠性投递
  • 消息顺序性
  • 消息积压处理
  • 消息幂等性

11. 搜索引擎

  • Elasticsearch基础
  • 索引原理
  • 查询优化
  • 集群架构
  • ELK技术栈

12. 容器化与DevOps

  • Docker容器化
  • Kubernetes编排
  • CI/CD流程
  • 自动化部署
  • 监控告警(Prometheus/Grafana)

13. 系统设计

  • 高并发系统设计
  • 高可用架构
  • 负载均衡
  • CDN加速
  • 限流策略
  • 熔断降级
  • 服务治理

14. 性能优化

  • 接口性能优化
  • 数据库性能优化
  • JVM性能调优
  • 系统性能测试
  • 性能瓶颈分析

15. 架构实战

  • 电商系统架构设计
  • 秒杀系统设计
  • 支付系统设计
  • 社交系统设计
  • 推荐系统设计

🚀 快速开始

1. 查看学习计划

cat 01-plans/master-plan.md  # 总体12个月学习计划

2. 检查学习进度

cat 02-progress/checklist.md  # 查看知识点清单

3. 开始学习

  • 每天查看 01-plans/daily/ 中的当日计划
  • 03-notes/ 中记录学习笔记
  • 04-examples/ 中编写示例代码
  • 05-projects/ 中完成练习项目

4. 定期复习

  • 每周日:在 07-review/weekly/ 写周总结
  • 每月底:在 07-review/monthly/ 写月总结
  • 使用 06-resources/ai-chats/best-practices.md 指导AI对话

📝 学习建议

学习方法

  1. 制定计划:每周日制定下周学习计划
  2. 每日学习:每天3-4小时(理论1h + 代码2h + 复习1h)
  3. 及时记录:学完立即记录笔记和代码
  4. 定期复习:使用间隔重复法复习旧知识
  5. 项目驱动:每个知识点都配套实践项目

AI辅助学习

  • 📖 学习新概念:让AI用通俗语言解释
  • 💡 生成练习题:让AI出题检验理解
  • 🔍 代码审查:让AI Review你的代码
  • 🐛 问题排查:遇到问题先问AI,再查文档
  • 💼 架构讨论:重要决策与AI讨论方案

详见:06-resources/ai-chats/best-practices.md

进阶路径

  1. 循序渐进:按照目录顺序逐步学习,打好基础
  2. 理论结合实践:每个知识点都要配合代码实战
  3. 阅读源码:深入理解优秀框架的设计思想
  4. 总结笔记:在notes目录记录学习心得
  5. 项目实战:设计并实现完整的架构项目

🔧 技术栈

  • 语言:Java 17+
  • 框架:Spring Boot 3.x、Spring Cloud
  • 数据库:MySQL、Redis、MongoDB
  • 消息队列:Kafka、RabbitMQ
  • 搜索:Elasticsearch
  • 容器:Docker、Kubernetes
  • 构建工具:Maven、Gradle
  • 监控:Prometheus、Grafana、SkyWalking

📖 学习资源

  • 官方文档
  • 技术书籍
  • 开源项目
  • 技术博客
  • 视频教程

🎯 学习目标

  • 掌握Java核心技术
  • 理解常用设计模式
  • 精通并发编程
  • 深入理解JVM原理
  • 掌握分布式系统设计
  • 具备架构设计能力
  • 能够独立完成中大型系统架构设计

开始时间:2026-01-16 预计完成:持续学习 当前进度:准备阶段

About

Java架构学习路径 - 从基础到架构师的完整学习体系

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors