flowchart LR
N0["01 JDK 与开发环境"]
N1["02 依赖与构建"]
N2["03 Git 协作"]
N3["04 Linux 与容器"]
N4["05 网络请求"]
N5["06 Java 网络编程"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
工程基础与Internet-Linux
现代 Java Backend Engineering 学习路线:工程基础与Internet-Linux
0 子目录7 文档

CHAPTER OVERVIEW · 章节概览
先建立可复现的开发与构建环境,再学习协作和服务运行;用一次网络请求把 Linux、网络和 Java 程序连起来。
本章学习路线
箭头表示建议的学习顺序;先理解问题,再逐步进入实现与实践。
按顺序学习
7工程工具与 Linux:从零开始的阶段导学你在 IDE 里点运行成功,换一台电脑却失败,这是工程工具要解决的典型问题。我们先把 JDK、依赖和启动命令写清楚,再学习 Git 与 Linux。目标是让别人拿到项目后,也能按同样的步骤运行。JDK、IDE、Maven 与 Gradle:可复现 Java 构建IDE 的运行按钮背后,仍然需要 JDK、依赖解析和构建命令。把这几层分开后,就能判断问题出在编辑器配置、项目描述还是运行环境。本章先建立命令行可重复的构建,再看 IDE 怎样使用它。Git 协作与版本治理:提交、分支、合并、变基、标签与发布分支并不是把整个项目复制一份,而是指向某个提交的引用。理解这一点,再看合并、变基和回滚会清楚很多。下面从你每天会做的改动开始,逐步解释 Git 怎样保存历史,以及多人协作时如何避免误操作。Linux、Shell 与 Docker:运行 Java 服务的基础环境一个 Java 服务启动后,就是操作系统中的进程:它打开文件、监听端口,也会受到权限和内存限制。下面先学会找到这个进程并读懂它的输出,再引入 Docker;容器没有让这些基本规则消失。Internet 心智模型:从 URL 到 Spring Controller在浏览器输入地址到 Controller 收到请求之间,还经过了 DNS、连接建立、代理和服务器处理。沿着一次请求逐站检查,能帮助你判断超时、证书错误或 404 到底发生在哪一层,而不是一律归为后端代码错误。Java 网络编程:TCP、UDP、IP、端口、Socket、URL 与 HTTP Client两台机器要交换数据,除了知道地址,还得约定数据怎样划分、什么时候算读完,以及等不到结果怎么办。本章从 socket 的读写开始,再联系 HTTP Client,帮助你理解网络库替我们处理了哪些细节。Java 工程工具与 Linux推荐阅读这些资料不必一次读完。先选 Maven 或 Gradle 跑通构建,再用 Git 保存一次改动,最后到 Linux 查看进程和日志。每遇到一个实际问题,再回到相应手册查细节,会比连续读工具名词更有效。