一、版本与选购 ★★★(先搞清楚再买,买错版本目录对不上)
英文原版第 14 版(最新,Java 25 LTS)
卷 I:2025 年 12 月,Oracle Press,816 页,ISBN 978-0-13-555857-7
卷 II:ISBN 978-0-13-555869-0,同样基于 Java 25
适合:英语阅读无障碍、想一步到位用最新 LTS
英文原版第 13 版(Java 21 LTS)★ 本导图以此版目录为骨架
卷 I:2024 年 8 月,ISBN 978-0-13-532837-8
卷 II:2025 年 2 月,992 页,ISBN 978-0-13-546247-8
国内可买:人民邮电出版社英文影印版卷 I(2026 年 1 月,ISBN 978-7-115-68400-4,附中英对照目录)
中文翻译版:机械工业出版社目前只到原书第 12 版(Java 17)
卷 I《开发基础》:2022 年 6 月,ISBN 978-7-111-70641-0,译者 林琪、苏钰涵
卷 II《高级特性》:2023 年 3 月,ISBN 978-7-111-71974-8,译者 陈昊鹏
⚠️ 原书第 13 版的中文译本,截至 2026 年 10 月未查到出版记录
★★★ 第 12 版与第 13 版做过「两卷大搬家」(对照本导图必看)
内容从卷 I 移到了卷 II
GUI 编程(Graphical User Interface Programming)
Swing 用户界面组件(User Interface Components with Swing)
后果:12 版中文卷 I 里的 GUI 两章,在 13 版要去卷 II 找
内容从卷 II 移到了卷 I
注解 Annotations(13 版为卷 I 第 11 章)
Java 平台模块系统 JPMS(13 版为卷 I 第 12 章)
后果:12 版中文卷 II 里的这两章,在 13 版要去卷 I 找
卷 I 其他变化
并发章 Concurrency 从第 12 章前移为第 10 章
第 5 章新增独立的 5.9 模式匹配(覆盖 Java 21 的 switch 模式匹配)
第 10 章新增 10.3.1 虚拟线程(Java 21 最重要的新特性)
第 8 章新增泛型记录模式相关小节
卷 II 其他变化
第 8 章从「脚本、编译与注解处理」7 小节精简为「编译与脚本」2 小节
第 4 章网络新增 4.5 简单 HTTP 服务器
第 7 章国际化新增 7.6 文本边界
第 12 章高级 Swing 把表格的行/列操作与单元格渲染拆成独立小节
两版共同点
卷 I 都是 12 章、卷 II 章节主体顺序一致(流→IO→XML→网络→数据库→日期时间→国际化→…→本地方法)
★ 所以本导图的知识点内容对 12 版同样适用,只有「在第几章」需要按上面的对照调整
版本选择建议(给你的现实判断)
英语可接受 → 第 13 版英文影印版(Java 21 LTS,与主流企业环境一致,且带中英对照目录)
只想读中文 → 第 12 版中文译本完全可用,Java 17 也是 LTS,够学;但需自行补虚拟线程等 21 特性
不差钱想最新 → 第 14 版英文(Java 25 LTS)
★ 无论哪版:JDK 一定装 21 或 25,不要装 8
二、这本书的定位(读之前要有正确预期)
它是什么 ★★★
Java 语言与核心类库的权威教程 + 参考手册
数百个可直接运行的工程案例,配套代码在作者官网可下载
两卷合计约 1800 页,是「厚书」,不是速成读物
它不是什么 ★★★(避免预期错位)
不是 Spring / Spring Boot 教程 —— 企业开发主力框架,书里完全没有
不是 JVM 深入原理书 —— GC 算法、类加载、字节码只略讲,要另读《深入理解 Java 虚拟机》
不是数据库书 —— JDBC 只有一章,不讲 SQL 优化、不讲 ORM 框架
不是算法与数据结构教材 —— 集合讲了怎么用,不讲实现细节与复杂度推导
不是设计模式书 —— 模式零散体现,无系统讲解
不是项目实战书 —— 没有完整的工程化项目(构建、测试、部署都要另学)
读完能到什么水平
★★★ 能独立写结构清晰的 Java 程序:面向对象、异常、泛型、集合、流、并发
★★★ 能用 JDBC 直连数据库完成增删改查与事务控制(对接你的 Oracle 知识)
★★ 能读写文件、处理 XML、做网络通信、写命令行工具
★★ 能用反射与注解理解框架原理(这是学 Spring 的前置能力)
★ 能做 Swing 桌面界面(就业价值低,但练事件驱动模型有价值)
★★ 与其他学习的衔接(结合你的情况)
走企业开发方向
本书卷 I → 卷 II 第 5 章 JDBC → Spring Boot → MyBatis/JPA → 项目实战
走数据库方向
本书卷 II 第 5 章 + 你已整理的 Oracle 知识 = 完整的数据访问层能力
★ 你学过 Oracle 的 PL/SQL、存储过程、事务与锁,学 JDBC 会比别人快得多
CallableStatement 调存储过程、事务隔离级别这两节,直接和你 Oracle 导图的第 14 章呼应
三、学习主线:五阶段
阶段一 · 语言地基(卷 I 第 1-5 章)
目标口号:写得对、说得清
重点:第 3 章基本结构、第 4 章对象与类、第 5 章继承与模式匹配
阶段产出:一个不依赖任何框架的命令行小程序(如学生成绩管理)
阶段二 · 抽象能力(卷 I 第 6-8 章)
目标口号:把重复的代码抽象成接口,把易错的代码用异常兜住
重点:第 6 章接口与 Lambda ★★★、第 7 章异常与日志、第 8 章泛型
阶段产出:用接口 + Lambda 重构阶段一的程序;建立自己的异常体系与日志配置
阶段三 · 数据与并发(卷 I 第 9-10 章)★★★
目标口号:会选集合、会写线程、不出并发 bug
重点:第 9 章集合(选型判断力)、第 10 章并发(全书最难也最值钱)
阶段产出:一个多线程任务调度程序 + 一页集合选型速查表
★ 时间投入建议:本章占卷 I 总时间的 1/3,不要匀速推进
阶段四 · 平台机制(卷 I 第 11-12 章 + 卷 II 第 1-2、5-6 章)
目标口号:懂注解与反射,就懂了一半的框架原理
重点:注解、反射、模块系统、Stream API、NIO.2 文件、JDBC、日期时间
阶段产出:手写一个几十行的迷你 IoC 容器(注解 + 反射 + 注入)
★ 这个小练习是理解 Spring 的钥匙,性价比极高
阶段五 · 应用扩展(卷 II 其余章节)
目标口号:按需取用,当手册查
精读:第 3 章 XML、第 4 章网络与 HttpClient、第 9 章安全的类加载器部分
略读/查阅:第 7 章国际化、第 8 章编译脚本、第 10-12 章 GUI、第 13 章本地方法
阶段产出:一个能联网取数据 → 解析 → 入库 → 提供接口的完整小工具
四、时间节奏建议
强度:每天 1.5-2 小时,每周 6 天
全书约 5-7 个月,★ 不要指望一个月读完(这是一千八百多页的书)
卷 I:约 12-16 周
第 1-5 章:4 周(语言地基,节奏可以快)
第 6-8 章:3 周(抽象能力,泛型会卡)
第 9-10 章:5 周(集合 2 周 + 并发 3 周,★★ 并发要多给时间)
第 11-12 章:2 周(注解精读、模块系统了解即可)
卷 II:约 8-12 周,但要「按需精读」而非通读
精读(约 6 周):第 1 章流、第 2 章 IO、第 5 章 JDBC、第 6 章日期时间
通读(约 2 周):第 3 章 XML、第 4 章网络、第 9 章安全
查阅即可:第 7、8、10、11、12、13 章
★★★ 三个反模式(大多数人卡在这里)
只读不敲 —— 看得懂写不出
从头到尾匀速读 —— 该慢的地方(并发)没慢下来
读完卷 I 才开始找卷 II —— 两卷应交叉推进,卷 II 第 1 章流在学完卷 I 第 6 章 Lambda 后就能读
八、验收闭环
每阶段结束做一次「不看书写一遍」
阶段一:盲写一个含继承与多态的小类体系
阶段二:盲写一个泛型容器类 + 完整异常处理
阶段三:盲写生产者-消费者(BlockingQueue 版 与 Lock+Condition 版 各一遍)
阶段四:盲写一段 JDBC 事务代码 + 一个 Stream 数据处理管道
阶段五:盲写一个 HttpClient 异步调用 + JSON 解析
最终验收标准
「能力验收清单」画布里的条目打钩 ≥ 80%
★★ 打钩方式必须是真机运行通过,不接受「我觉得会了」
终极检验:能在一天内独立做出「读文件 → 处理数据 → 存数据库 → 提供 HTTP 接口」的小系统
七、三个随身资产(长期复利)
代码库:按章节归档,用 Git 管理
建议结构:vol1/ch04-objects、vol1/ch09-collections、vol1/ch10-concurrency、vol2/ch01-streams、vol2/ch05-jdbc ...
毕业时这就是你的个人代码资产
错题本:三类都记
编译错误:报错原文 + 我当时的错误理解 + 正确解释
运行异常:栈轨迹关键行 + 触发条件 + 根因
概念误解:我以为 X,其实是 Y
★ 起步先记:== 与 equals、ConcurrentModificationException、NullPointerException、类型擦除的限制
速查卡:四张(做出来贴在屏幕边)
集合选型对照表:接口 / 实现 / 有序性 / 线程安全 / 时间复杂度
异常分类树:Error vs Exception、Checked vs Unchecked、常见子类归属
Stream API 分类:中间操作 / 终止操作 / 收集器三栏
并发工具选型:Thread / ExecutorService / 虚拟线程 / CompletableFuture / 并发集合 / 阻塞队列
六、环境先行(第 1 周必须搞定)
★★★ JDK 选择(最容易踩的第一个坑)
推荐 JDK 21(LTS,与第 13 版一致)或 JDK 25(LTS,最新)
⚠️ 绝不要用 JDK 8 学:record、sealed、switch 模式匹配、虚拟线程、文本块、var、HttpClient 全部用不了,与书严重脱节
发行版选择:Eclipse Temurin(Adoptium,★ 免费首选)、Oracle JDK、Amazon Corretto、Azul Zulu
Windows 建议用 MSI 安装包:自动配好 JAVA_HOME 与 PATH,省去手工设置
验证:java -version、javac -version、jshell
IDE 选择
★ 推荐 IntelliJ IDEA Community(免费,Java 生态事实标准,重构与调试最强)
Eclipse:老牌、插件多,学校课程可能指定用它
VS Code + Extension Pack for Java:轻量,适合小练习与读源码
★ 建议:别在工具选择上纠结超过一天,装好 IDEA 就开始
构建工具(书里讲得少,但实际必用)
Maven 或 Gradle,至少会一个
★ 建议:学完卷 I 第 4 章「JAR 文件」后立刻上手 Maven,用它管理练习项目
不会构建工具 = 无法参与真实项目
版本控制
Git + GitHub,每章练习都提交上去
★ 面试时一个持续更新的仓库比证书更有说服力
★★ 命令行必须会(不能只靠 IDE 点按钮)
javac 编译、java 运行、jar 打包、jshell 交互
javadoc 生成文档、jdeps 分析依赖、jlink 裁剪镜像、jpackage 打包应用
诊断三件套:jcmd、jstack、jmap
★ 只用 IDE 会导致离开 IDE 就不会干活,类路径问题更是无从排查
五、每章四步法(核心方法论)
看:通读一遍,只标记不懂的名词,不追根究底
第一遍追求覆盖面,第二遍才追求深度
敲 ★★★:所有示例手敲进 IDE,禁止复制粘贴
配套代码在 horstmann.com/corejava 可下载,但「下载来跑」和「手敲」效果天差地别
敲完必须改:换字段名、换条件、故意制造一次编译错误看报错
★ 故意制造错误是关键动作 —— 记住报错信息比记住正确写法更有用
练:每章末尾的练习题做完
这是本书最大的价值之一,Horstmann 的习题质量很高
★ 积压的练习是放弃的第一原因,当天做完
讲:合上书,用自己的话说清「这章解决什么问题、有什么坑」
讲不出来 = 没学会,回去重看
进阶:写成 3-5 条笔记提交到 Git,攒成自己的知识库