# Java 技术体系完整知识地图(工程实战版)

目标:构建「体系化 + 企业级 + 高并发 + 架构型」Java 能力
适用人群:Java 初级 → 中级 → 高级 → 架构师

# 文档导航

# 一、基础内功

文档 内容
Java 基础 语法、OOP、泛型、Lambda/Stream/Optional、集合、异常、record/switch/var、IO
集合框架 ArrayList/HashMap/ConcurrentHashMap 原理、扩容、红黑树、fail-fast

# 二、JVM 与并发

文档 内容
JVM 内存结构、类加载与双亲委派、GC 与收集器、jstack/jmap/arthas、OOM/CPU/Full GC 排查
并发编程 线程、synchronized/Lock/volatile、AQS、线程池、JMM、JUC 工具类
Java 进阶 反射与代理、BIO/NIO/AIO、新特性、设计模式、序列化、面试要点

# 三、企业开发

文档 内容
Spring 全家桶 IOC/AOP、Bean 生命周期、循环依赖、Boot 自动装配、MVC、Cloud 微服务
持久层与数据库 MyBatis 动态 SQL/缓存、MyBatis Plus、SQL 优化、索引、explain、事务
中间件 MySQL/Redis/消息队列/ES:原理、持久化、缓存问题、分布式锁、集群

# 四、架构与工程化

文档 内容
架构设计 设计模式、SOLID、DDD、限流熔断降级、分布式锁与事务、微服务治理
工程化与 DevOps Maven/Gradle、Git、CI/CD、Docker、K8s、ELK、Prometheus、SkyWalking
源码与进阶 Netty、Reactor、手写线程池/IOC/MQ、JVM 调优、Spring/MyBatis 源码、分布式原理

# 五、工程实践

文档 内容
Java 工程 项目结构、测试、日志、配置、数据库访问、部署

# 一、Java 基础内功(地基能力)

# 1. Java 语言基础

  • 面向对象:封装 / 继承 / 多态
  • 接口 vs 抽象类
  • 泛型(类型擦除原理)
  • 注解 + 反射
  • Lambda / Stream API
  • Optional
  • 异常体系
  • Java 新特性(record / switch 表达式 / var)

# 2. 集合框架(必须精通)

常用集合:ArrayList、LinkedList、HashSet、TreeSet、HashMap、LinkedHashMap、ConcurrentHashMap

核心原理:HashMap 数组+链表+红黑树、扩容机制、负载因子、fail-fast、线程安全集合实现

必会问题:HashMap put 过程?1.8 为什么引入红黑树?ConcurrentHashMap 如何保证线程安全?

# 3. JVM(高级工程师核心)

内存结构:堆、栈、方法区/元空间、程序计数器

核心知识:类加载机制(双亲委派)、GC 原理、垃圾回收算法、CMS / G1 / ZGC

调优工具:jstack、jmap、jvisualvm、arthas

必备能力:OOM 排查、CPU 100% 排查、Full GC 频繁定位

# 4. 并发编程(非常重要)

基础:线程创建、synchronized、Lock、volatile、CAS

进阶:AQS、线程池原理、CompletableFuture、ConcurrentHashMap、JMM 内存模型

并发工具类:CountDownLatch、CyclicBarrier、Semaphore、ThreadLocal

必会问题:线程池参数怎么设计?volatile 的作用?synchronized 和 Lock 区别?


# 二、Spring 全家桶(企业标配)

# 1. Spring Core

IOC 原理、AOP 原理、Bean 生命周期、循环依赖、动态代理(JDK / CGLIB)

# 2. Spring Boot

自动装配原理、starter 机制、配置加载流程、Actuator 监控

# 3. Spring MVC / WebFlux

请求处理流程、HandlerMapping、拦截器 vs 过滤器、异步请求、响应式编程(Reactor)

# 4. Spring Cloud(微服务)

Nacos / Eureka、Gateway、Feign、Sentinel / Resilience4j、配置中心、链路追踪(Skywalking / Zipkin)


# 三、持久层与数据库

  • MyBatis:动态 SQL、插件机制、一级/二级缓存、批量操作
  • MyBatis Plus:CRUD 自动化、条件构造器
  • SQL 优化:索引设计、执行计划 explain、慢查询日志

# 四、中间件(高薪关键)

MySQL:B+Tree 索引、事务 ACID、MVCC、锁机制、主从复制、分库分表

Redis:五大数据结构、持久化(RDB/AOF)、缓存穿透/击穿/雪崩、分布式锁、Redisson、集群模式

消息队列:Kafka、RocketMQ、RabbitMQ — 消息可靠性、幂等设计、顺序消息、延迟队列、重复消费处理

Elasticsearch:倒排索引、分词器、聚合查询、日志检索


# 五、架构设计能力(高级核心)

设计思想:设计模式(工厂/策略/责任链/模板)、SOLID 原则、DDD、分层架构

高并发设计:限流、熔断、降级、异步削峰、缓存架构、分布式锁、分布式事务(Seata)

微服务治理:服务拆分、CAP / BASE、灰度发布、蓝绿部署、零停机发布


# 六、工程化与 DevOps

构建与版本:Maven / Gradle、Git、CI/CD(Jenkins、GitLab CI)

容器化:Docker、Kubernetes

日志监控:ELK、Prometheus + Grafana、Skywalking


# 七、源码与进阶能力(大厂/架构方向)

Netty、Reactor、手写线程池/手写 IOC/手写 MQ、JVM 调优实战、阅读 Spring / MyBatis 源码、分布式系统原理


# 八、学习成长路线建议

阶段 内容
初级 Java 基础、集合、SpringBoot、MyBatis、MySQL
中级 JVM、并发、Redis、MQ、微服务、Docker
高级 架构设计、性能优化、分布式系统、源码阅读、高并发系统设计

# 九、核心能力终极目标(真正值钱)

应能独立回答:

  • 10 万 QPS 怎么抗?
  • 如何防止缓存雪崩?
  • 如何做分布式事务?
  • 如何定位线上 OOM?
  • 如何设计高可用系统?

👉 能解决这些,才是高级工程师/架构师。