《Java 高级编程》全 34 篇,是《Java 编程实战》之后的第三卷。卷二把
library长成了可部署的libraryd服务;卷三不改产品功能,改的是同一件事还能怎么写、为什么这样写:第 1–3 章处理类型系统、反射与类加载,第 4–6 章处理 JMM、JUC 与虚拟线程,第 7 章用 sealed 与模式匹配重写领域结果,第 8 章处理 JPMS 与 FFM 的边界,第 9 章用 JMH 与 JFR 建立性能基线。
本页是《Java 高级编程》的全书目录:按章节顺序列出全部 34 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读,或先看目录篇 里的三条学习路径。
全书概览
| 项目 | 内容 |
|---|---|
| 书稿 | 《Java 高级编程》 |
| 篇数 | 34 篇(正文 9 章 27 节 + 目录篇 + 序 + 前言 + 附录 A–D) |
| 领域 | Java 语言机制、运行时、并发与平台性能 |
| 贯穿项目 | libraryd —— 在卷二服务上做内核改造 |
| 阅读方式 | 从目录篇 进入按顺序通读,或按查漏场景跳读 |
| 主线版本 | JDK 25 LTS(Temurin 25.0.5+8)、Maven 3.9.12 |
| 关键依赖 | Byte Buddy 1.18.16、ASM 9.11.1、JMH 1.37 |
| 上级专题 | 书稿专题 |
全书目录
前置与附录
| 节 | 文章 | 核心内容 |
|---|---|---|
| — | 目录与学习路径 | 全书导航页:四个层次、三条路径、九章结构与项目状态 |
| — | 序 | 为什么在能跑的服务之后还要讲机制、与卷四和 Spring Boot 卷的分工 |
| — | 前言 | 读者对象、环境清单与真实版本输出、代码约定、三种验证层次 |
| 附 A | 附录 A 并发 API 速查 | 原子类、锁、并发容器、阻塞队列、同步器、虚拟线程的场景与误用 |
| 附 B | 附录 B 反射与代理模板 | 注解定义、InvocationHandler、代理工厂、record 反射与模块开放 |
| 附 C | 附录 C 版本特性矩阵 | JDK 8/11/17/21/25 的语言与 API 变化、正式/预览状态 |
| 附 D | 附录 D 诊断命令清单 | jps、jcmd、jstack、jfr、javap、jdeps、jlink 的实际用法 |
第一部分:类型系统(第 1–3 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 1.1 | 1.1 泛型边界 | 从 BookRepository 抽到 Repository<T, ID>、有界类型参数与 Page<T> |
| 1.2 | 1.2 型变与通配符 | PECS、? extends / ? super 在查询与写入 API 里的位置 |
| 1.3 | 1.3 擦除与类型令牌 | 擦除规则、桥方法、TypeReference 与泛型数组的限制 |
| 2.1 | 2.1 反射核心 | Class、Method、Constructor、访问控制与模块开放 |
| 2.2 | 2.2 注解与运行时元数据 | @Retention、@Target、@Audit、@Retry 的读取与组合 |
| 2.3 | 2.3 动态代理 | JDK 动态代理、事务与重试织入、自调用失效的原因 |
| 3.1 | 3.1 类加载器与双亲委派 | 类加载器层次、双亲委派、插件加载器与 ServiceLoader |
| 3.2 | 3.2 字节码入门 | javap、常量池、调用指令、ASM 与 Byte Buddy 的取舍 |
| 3.3 | 3.3 Instrumentation 与 Java Agent | premain、ClassFileTransformer、-javaagent 与无侵入计时 |
第二部分:并发(第 4–6 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 4.1 | 4.1 可见性与重排序 | happens-before、volatile、安全发布与 DCL |
| 4.2 | 4.2 原子类与 CAS | AtomicLong、LongAdder、ABA、VarHandle 与 LoanCounters |
| 4.3 | 4.3 锁与条件队列 | synchronized、ReentrantLock、Condition 与 AQS 结构 |
| 5.1 | 5.1 并发容器 | ConcurrentHashMap、CopyOnWriteArrayList 与弱一致迭代 |
| 5.2 | 5.2 阻塞队列 | 队列选型、LoanEventPipeline、停止与背压 |
| 5.3 | 5.3 同步器 | CountDownLatch、Semaphore、CyclicBarrier 的适用边界 |
| 6.1 | 6.1 虚拟线程原理 | 载体线程、挂起、JEP 491 与 pinning 现状、吞吐对比 |
| 6.2 | 6.2 结构化并发 | StructuredTaskScope 预览 API、Joiner、作用域取消 |
| 6.3 | 6.3 虚拟线程落地 | 连接池、ThreadLocal → ScopedValue、限流与背压 |
第三部分:语言与平台(第 7–8 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 7.1 | 7.1 record 模式与解构 | record 模式、嵌套解构、LoanState 的扁平表达 |
| 7.2 | 7.2 sealed 层次与穷尽 switch | sealed / permits、穷尽性检查、LoanResult 替代错误码 |
| 7.3 | 7.3 模式匹配的边界 | 守卫 when、null、顺序与可读性、primitive patterns 状态 |
| 8.1 | 8.1 JPMS 模块化 | module-info、jdeps、模块化 jar 与 jlink |
| 8.2 | 8.2 FFM API | Linker、MemorySegment、Arena、调用 libisbn |
| 8.3 | 8.3 原生互操作边界 | 崩溃隔离、跨平台分发、JNI 迁移成本与纯 Java 替代 |
第四部分:性能(第 9 章)
| 节 | 文章 | 核心内容 |
|---|---|---|
| 9.1 | 9.1 基准测试 | JMH 1.37、Warmup/Measurement/Fork、死代码消除与结果解读 |
| 9.2 | 9.2 性能剖析 | JFR 录制、jfr summary、ExecutionSample 与热点定位 |
| 9.3 | 9.3 优化决策 | 分配、锁、批处理的收益核算与回归基线 |
怎么读这套书
- 按顺序:从序 开始,每节末尾有阅读导航。
- 按问题:直接看目录里的小节标题,或从目录篇 的「排障与速查」表进入。
- 按项目:从第 1 章的
Repository<T, ID>开始,跟着每节「在 libraryd 里落地」改代码。
与站内其他内容的关系
- 《Java 编程入门》
:语言基础与
libraryCLI。 - 《Java 编程实战》
:工程化与
libraryd服务。 - Spring Boot 三部曲 :框架层的完整路径。
- 《Java 虚拟机原理与性能调优》:四卷本最后一卷,讲 JVM 内部、GC 与调优,将在完成后加入书架。