从源码角度解读 Node.js 底层设计,并实现一个简单的 JS 运行时

*   开篇:深入剖析 Node.js 底层原理

*   Node.js 基础架构

*   Libuv 数据结构和通用逻辑

*   Libuv 事件循环

*   Libuv 线程池和线程间通信

*   Libuv 的流机制

*   Libuv 的功能是如何引入 JS 的

*   Node.js 中 JS 和 C++对象的内存管理机制

*   Node.js 的启动过程

*   模块加载的实现

*   TCP 基础和客户端 / 服务器的实现

*   TCP 的数据通信的实现和特性

*   UDP 客户端 / 服务器的实现和特性

*   详解文件模块的同步、异步、Promise 化、流式操作 API

*   Node.js 中两套文件监听机制的实现

*   从 Libuv 和 cares 的角度,理解 DNS 模块的实现

*   Unix 域和文件描述符传递

*   进程和进程间通信的实现

*   服务器技术的演进和 Cluster 模块的实现

*   Node.js 中 HTTP 模块的实现和使用

*   多线程和线程间通信的实现

*   setImmediate、nextTick 和 setTimeout 的实现

*   从 0 到 1 实现一个简单的 JS 运行时

*   总结:阅读源码的意义