Skip to content

为什么写这份文档?

市面上的 Java 教程已经很多了——视频、博客、书籍、开源项目、官方文档,琳琅满目。但如果你曾经认真找过资料,你大概率会遇到这些问题:

  1. 基础教程与企业实际脱节:教你 Hello World 之后就讲 SpringBoot,但跳过了大量"为什么需要这样做"的解释
  2. 企业级规范散落各处:阿里规约、Spring 最佳实践、设计模式... 没有一份系统化的中文教程把它们串起来
  3. 代码示例不可运行:很多博客的代码片段复制下来根本跑不通
  4. 没有"为什么":只告诉你要这么写,但不告诉你为什么企业级项目里要这么写

这份文档就是为了解决这些问题而诞生的。

本教程的特色

✅ 每行代码都注释

java
public class HelloWorld {                    // ① 类名必须与文件名完全一致
    public static void main(String[] args) {  // ② main 方法是 Java 程序的固定入口
        System.out.println("Hello, World!"); // ③ println = print line,会自动换行
    }                                        // ④ 静态方法可以直接通过类名调用
}

代码块左侧的行号注释(// ①)告诉你这一行的设计意图,不是解释语法。

✅ "为什么这样写"卡片

关键设计决策都有专门的卡片解释,例如:

为什么用 private 修饰成员变量?

封装(Encapsulation)是 OOP 的核心思想。private 把数据藏在类内部,对外只暴露受控的 getter/setter, 这样既能保护数据完整性(setter 里加校验),又能在未来自由修改内部实现而不影响调用方。

✅ 完整可运行示例

每个章节配套独立可运行的小项目,位于 examples/ 目录下,复制下来就能跑:

bash
cd examples/hello-java
javac HelloWorld.java
java HelloWorld
# 输出:Hello, World!

✅ 配套完整实战项目

第 78-90 章会带你从零搭建一个完整的 RBAC 权限管理系统,包含:

  • 用户 / 角色 / 菜单 / 部门 / 字典 9 大模块
  • Docker Compose 一键起所有依赖
  • GitHub Actions 完整 CI/CD
  • 接口文档自动部署
  • 代码生成器、监控告警、操作日志... 企业项目该有的都有

✅ 强调"坑"和"反模式"

每个章节都有「常见坑」小节,告诉你新手最容易踩的雷

不要这样写

java
// ❌ 错误:自动装箱 + == 比较
Integer a = 100;
Integer b = 100;
System.out.println(a == b);  // true,但实际是因为 IntegerCache

Integer c = 200;
Integer d = 200;
System.out.println(c == d);  // false!踩坑!

应该用 equals() 比较包装类。

本教程不包含什么

为了控制篇幅和聚焦重点,以下内容不在本教程第一批次范围内:

  • ❌ 框架源码深度剖析(如 Spring Bean 生命周期完整源码)
  • ❌ 算法与数据结构(推荐配套《算法》第四版)
  • ❌ 计算机基础(操作系统、网络、数据库系统原理)
  • ❌ 软技能(沟通、文档、Code Review 文化)

这些会在你掌握本教程内容后,自然成为下一步学习目标。

写给读者的话

如果你能每天投入 1-2 小时,跟着章节动手敲代码、做练习题,10-12 周可以完成全部 90 章。

如果你只能周末学习,可能需要 4-6 个月。无论哪种节奏,都不要赶进度——理解比完成更重要

学习过程中遇到任何问题,欢迎:

  • 在每篇文章底部留言
  • 提交 GitHub Issue
  • 加入技术交流群(详见 README)

最后,送给你一句 Java 社区广为流传的话:

"Write once, run anywhere. 这不仅是 Java 的口号,也是我们对工程质量的追求——一次认真写好,处处复用。"

祝学习愉快!


下一步怎么阅读最高效

本站基于 VitePress 构建 · 由 Codebook 团队维护