1293 字
4 分钟
技术内幕揭秘
系列简介
你是否曾经好奇:
- 浏览器输入 URL 按下回车后,到底发生了什么?
- 一条 SQL 语句是如何被数据库执行的?
- Docker run 命令背后容器是如何启动的?
- React 的 setState 如何触发界面更新?
本系列致力于揭示技术黑盒背后的秘密。我们不满足于”怎么用”,更追求”为什么这样”。每一篇文章都深入到底层原理,通过流程图、源码分析、时序图等方式,完整呈现技术内部的运行机制。
核心理念:知其然,更知其所以然。
学习路径
第一阶段:浏览器与前端├── 01 浏览器渲染原理├── 02 JavaScript 引擎原理├── 03 React 渲染流程└── 04 Vue 响应式原理
第二阶段:网络与协议├── 05 TCP 连接建立过程├── 06 TLS 握手详解└── 07 DNS 解析完整流程
第三阶段:数据库与存储├── 08 MySQL 查询执行流程├── 09 Redis 请求处理流程└── 10 PostgreSQL 查询优化器
第四阶段:编程语言运行时├── 11 Python 解释器原理├── 12 Go 调度器原理└── 13 Java JVM 运行机制
第五阶段:容器与云原生├── 14 Docker 容器启动流程├── 15 Kubernetes Pod 创建流程└── 16 Linux 进程启动过程系列文章
浏览器与前端
| 文章 | 状态 | 简介 |
|---|---|---|
| 浏览器渲染原理:从 URL 到页面 | 已发布 | DNS、TCP、TLS、HTTP、解析、渲染全流程 |
| JavaScript 引擎原理:V8 执行流程 | 已发布 | 词法分析、语法解析、字节码、JIT 编译 |
| React 渲染流程:从 setState 到 DOM 更新 | 已发布 | Fiber 架构、调度器、协调器、渲染器 |
| Vue 响应式原理:从数据变化到视图更新 | 已发布 | 依赖收集、响应式代理、调度队列、异步更新 |
网络与协议
| 文章 | 状态 | 简介 |
|---|---|---|
| TCP 连接建立过程:三次握手深度解析 | 已发布 | SYN、SYN-ACK、ACK、状态机、队列 |
| TLS 握手详解:从明文到加密通道 | 已发布 | ClientHello、证书验证、密钥交换、Finished |
| DNS 解析完整流程:从域名到 IP | 已发布 | 递归查询、迭代查询、缓存、DNSSEC |
数据库与存储
| 文章 | 状态 | 简介 |
|---|---|---|
| MySQL 查询执行流程:从 SQL 到结果集 | 已发布 | 连接器、分析器、优化器、执行器、存储引擎 |
| Redis 请求处理流程:从命令到响应 | 已发布 | 事件循环、命令解析、执行、响应协议 |
| PostgreSQL 查询优化器:如何选择最优执行计划 | 已发布 | 语法解析、语义分析、查询重写、计划生成 |
编程语言运行时
| 文章 | 状态 | 简介 |
|---|---|---|
| Python 解释器原理:CPython 执行流程 | 已发布 | 词法分析、语法树、字节码、虚拟机 |
| Go 调度器原理:GMP 模型详解 | 已发布 | G、M、P 关系、调度策略、抢占机制 |
| Java JVM 运行机制:从 .class 到机器码 | 已发布 | 类加载、运行时数据区、GC、JIT |
容器与云原生
| 文章 | 状态 | 简介 |
|---|---|---|
| Docker 容器启动流程:从镜像到运行 | 已发布 | 镜像加载、namespace、cgroup、联合挂载 |
| Kubernetes Pod 创建流程:从 kubectl 到容器运行 | 已发布 | API Server、Controller、Scheduler、Kubelet |
| Linux 进程启动过程:从 fork 到 exec | 已发布 | fork、exec、内存映射、文件描述符 |
核心方法论
分析框架
每一篇文章遵循统一的分析框架:
flowchart TB
subgraph 输入
A[用户操作/触发条件]
end
subgraph 处理流程
B[入口点] --> C[核心组件]
C --> D[关键决策点]
D --> E[输出/结果]
end
subgraph 深入分析
F[源码追踪] --> G[数据结构]
G --> H[算法实现]
end
A --> B
E --> F
图解原则
- 流程图:展示完整执行流程
- 时序图:展示组件间交互
- 状态图:展示状态变迁
- 架构图:展示系统结构
技术栈对照表
| 层级 | 技术 | 内幕揭秘文章 |
|---|---|---|
| 前端 | React/Vue | 渲染流程、响应式原理 |
| 运行时 | V8/CPython/JVM | 引擎原理、解释器 |
| 网络 | TCP/TLS/DNS | 连接建立、握手过程 |
| 存储 | MySQL/Redis/PG | 查询执行、请求处理 |
| 容器 | Docker/K8s | 容器启动、Pod 创建 |
| 系统 | Linux | 进程启动、内存管理 |
前置知识
不同文章有不同前置要求:
| 文章 | 最低要求 | 推荐基础 |
|---|---|---|
| 浏览器渲染 | HTTP 基础 | 网络协议、HTML/CSS |
| JS 引擎 | JavaScript 语法 | 编译原理基础 |
| React/Vue | 框架使用经验 | 前端工程化 |
| TCP/TLS | 网络基础 | 操作系统网络栈 |
| MySQL/Redis | SQL 基础 | 数据结构、索引原理 |
| Docker/K8s | 容器使用经验 | Linux 命名空间、cgroup |
阅读建议
按职业角色
flowchart LR
subgraph 前端开发者
A1[浏览器渲染] --> A2[JS 引擎]
A2 --> A3[React/Vue]
end
subgraph 后端开发者
B1[MySQL 流程] --> B2[Redis 流程]
B2 --> B3[TCP/TLS]
end
subgraph 运维工程师
C1[Docker 流程] --> C2[K8s 流程]
C2 --> C3[Linux 进程]
end
subgraph 全栈工程师
D1[全部文章]
end
按学习目的
| 目的 | 推荐文章 |
|---|---|
| 面试准备 | 全部(高频面试题来源) |
| 性能优化 | 浏览器渲染、MySQL 流程、Redis 流程 |
| 架构设计 | K8s 流程、Docker 流程 |
| 调试排查 | 全部(理解原理才能定位问题) |
扩展阅读
本系列与其他系列的关系:
参考资源
经典书籍
- 《深入理解计算机系统》(CSAPP)
- 《性能之巅》
- 《Linux 内核设计与实现》
- 《MySQL 技术内幕》
- 《Redis 设计与实现》
源码仓库
技术博客
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时
相关文章 智能推荐
1
内核架构全景
Linux内核 宏观视角下的 Linux 内核设计——用户空间与内核空间的隔离、七大子系统概览、执行上下文、内核通用数据结构,以及 /proc 和 /sys 文件系统——内核向用户空间暴露信息的窗口。
2
浅谈应用层跨平台设计
程序设计 从设计哲学层面探讨应用层跨平台的核心挑战——UI 适配、系统 API 差异、文件路径与编码问题,以及 Electron、Flutter、Qt 等主流跨平台框架的对比与选型建议。
3
Golang 整洁架构实践
golang 将整洁架构(Clean Architecture)落地于 Golang 项目——四层代码结构的划分(models/repository/use cases/api)、依赖方向的约束、错误码规范、权限校验与国际化功能的工程实现。
4
eBPF 全景:内核可编程革命
eBPF eBPF 是 Linux 内核近十年来最具革命性的技术——它允许在不修改内核源码的前提下安全地在内核中运行自定义逻辑。本章从 eBPF 的起源出发,全景式地介绍 eBPF 的架构、程序类型、Map 机制、开发工具链,并通过 Hello World 程序带你迈出 eBPF 开发的第一步。
5
构建你的第一个AI应用:架构与工程实践
AI 构建你的第一个AI应用——架构与工程实践






