Java 路线 00:从初级到专家的三层能力模型、学习顺序与全系列索引
面向初级、高级与资深/专家 Java 工程师的分层路线:每层该学什么、如何验收、与本系列各篇的对应关系;附统一练习模板与进阶节奏。
- Java
- 学习路线
- 方法论
本系列把 Java 能力拆成三层:基础交付(初级)、复杂系统与运行时(高级)、分布式、性能与架构治理(资深/专家)。下面给出可勾选的知识点清单、每篇对应的动手 Lab与验收口径,便于对照补缺,做到学完能用。
01 三层模型 × 知识点明细表#
A. 初级(对应 java-fundamentals-*)#
| 知识域 | 你要会的具体点 | 学以致用(交付物) |
|---|---|---|
| 工具链 | javac/java、-cp/-classpath、--module-path 概念 | 命令行编译运行;读懂「找不到符号」vs「找不到类」 |
| 字节码 | .class、类加载「加载→链接→初始化」直觉 | 知道 static 初始化何时触发 |
| 构建 | Maven pom.xml 三坐标、`src/main | test/java` |
| OOP | 接口/抽象/组合、final、可见性 | 职责单一;便于单测的依赖注入构造 |
| 集合 | ArrayList 扩容、HashMap 装载因子直觉、LinkedHashMap 有序 | 按读写模式选型;不写 O(n²) 嵌套查找 |
| 契约 | equals/hashCode、Comparable | HashSet/HashMap 键稳定;排序 TreeSet |
| 泛型 | 类型参数、上界、? extends/? super(PECS) | 集合 API 不再靠强转 |
| 异常 | Error vs Exception、受检/非受检、异常链 | try-with-resources;包装后保留 cause |
| IO | Charset、Path、Files.lines 流式读 | 指定 UTF-8;大文件不 OOM |
| 时间 | Instant、ZonedDateTime、Duration、DateTimeFormatter | 存 UTC;展示按用户时区 |
| 并发入门 | ExecutorService、submit/invokeAll、shutdown | 批量任务并行;优雅退出 |
初级验收:实现「注册接口」:校验 + 写库 + 日志(含 requestId)+ 3 条 JUnit;能口述异常如何从 DAO 传到全局处理器。
B. 高级(对应 java-advanced-*)#
| 知识域 | 具体点 | 学以致用 |
|---|---|---|
| JMM | happens-before、volatile 可见性(非复合原子) | 解释「偶发读到过期值」 |
| JUC | ReentrantLock、Atomic*、ConcurrentHashMap、Semaphore | 限流;分段统计 |
| 线程池 | 核心/最大/队列/拒绝策略、CallerRunsPolicy 含义 | 队列打满时延迟背压而不是静默丢 |
| 异步 | CompletableFuture 组合、orTimeout/completeOnTimeout | 多依赖合并;统一异常映射 |
| JVM | 堆分代、GC pause、分配速率、Metaspace | 读 GC 日志判断 Young GC 是否过密 |
| Spring | Bean 生命周期、JDK/CGLIB 代理、事务传播、rollbackFor | 定位事务不生效;缩小事务边界 |
C. 资深/专家(对应 java-expert-*)#
幂等表 + 状态机 + Outbox;RED/USE 与 SLO;限界上下文 + ADR。
02 全系列 × 推荐 Lab(务必动手)#
| slug | Lab(最小可运行) |
|---|---|
java-fundamentals-01-platform-and-jvm | Maven/Gradle 工程 + DiscountCalculator 纯函数 + JUnit + java -jar |
java-fundamentals-02-oop-collections-generics | 购物车 Map + 正确 equals/hashCode + 泛型 max(List<T>) |
java-fundamentals-03-exceptions-io-concurrency-intro | Files.walk 统计行数 + 线程池并行哈希 |
java-advanced-01-juc-and-async | 三依赖异步合并 + 2s 超时 + 线程池隔离 |
java-advanced-02-jvm-and-gc | 开 GC 日志压测短命对象,标 Young GC pause |
java-advanced-03-spring-ecosystem | 自调用 vs 拆 Bean 的 @Transactional 对比 |
java-expert-01-distributed-consistency | 订单状态机 + 幂等键 DDL + Outbox 伪代码 |
java-expert-02-performance-and-observability | 3 个 SLI + 报警阈值 + 日志字段规范 |
java-expert-03-architecture-and-ddd | 一页 ADR + 上下文映射草图 |
03 学习顺序#
基础 01→02→03 → 进阶 01→02→03 → 精通 01→02→03。并发弱则基础 03 与进阶 01 连着做两遍。
04 课后复盘(10 分钟)#
- 写出 5 个术语各一句人话解释。
- 今天敲过的命令/测试输出截图或粘贴一行日志。
- 对应线上事故场景(字符集/事务/线程池队列满…)。
- 若只保留一个监控维度你选什么?
- 下一篇前置是否补齐?
05 节奏参考#
全职初学:基础 2~3 周;进阶 3~4 周。在职:每周 3×90min,每次「一节理论 + 半套 Lab」。
下一篇:java-fundamentals-01-platform-and-jvm——从 javac 与 Maven 坐标开始搭「可测」工程。
相关阅读
基于内容相似度 + 标签/系列加权
- 2 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 基础 01:平台、JDK、字节码与可维护的最小项目骨架
写给初级工程师:JVM/JRE/JDK 分工、源码到字节码的路径、classpath 与模块的基础心智;用 Maven 或 Gradle 搭一个最小可测试骨架。
- Java
- JVM
- 基础
- 2 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 基础 03:异常体系、try-with-resources、IO/NIO.2 入门与并发初探
初级收尾篇:受检/非受检异常取舍、异常链与日志;现代 IO 用法;线程与 synchronized 的最小正确用法,为进阶 JUC 铺路。
- Java
- 异常
- IO
- 2 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 进阶 01:JUC、线程池、CompletableFuture 与异步组合实战
写给高级工程师:happens-before 直觉、Lock 与原子类、ExecutorService 参数含义、超时/取消/组合异步;常见踩坑与背压入门。
- Java
- 并发
- JUC
- 2 分钟Java 从基础到精通(初级 · 高级 · 专家路线)
Java 基础 02:面向对象、集合框架与泛型(正确用上接口与算法复杂度)
初级必读:类/接口/抽象的分工、equals 与 hashCode 契约、List/Set/Map 选型、迭代与并发修改;泛型如何避免强制转换地狱。
- Java
- 集合
- 泛型