Google V8引擎课程-一门课搞懂 JavaScript 执行逻辑

V8 是 Google 基于 C++ 编写的开源高性能 JavaScript 与 WebAssembly 引擎,主要的应用包括 Chrome 浏览器以及 Node.js。得益于 Chrome 浏览器的市场占有率以及 Chromium 阵营的不断强大,V8 已经成为了当今最主流的 JavaScript 引擎。

但很多前端开发人员对 V8 的理解还停留在表面,只是单纯地使用 JavaScript 和调用 Web API,并不了解 V8 这个“黑盒”内部是如何工作的,项目出现问题时,也只能是“头疼医头,脚疼医脚”,没有系统的解决策略;想要系统学习 V8 时,也不知道从何处着手,不能迅速抓住 V8 的核心知识要点。

本资源完整地梳理 V8 的核心知识体系,通过大量图片演示,深入浅出地讲解 V8 执行 JavaScript 代码的底层机制和原理。

通过学习这门课程,你不仅可以了解完整的 V8 编译流水线,还能通过对 V8 工作机制的学习,搞懂 JavaScript 语言的核心特性,进而从根源解决程序上的问题,加快 JavaScript 的执行速度。

资源目录

宏观视角 (2讲)

开篇词 | 如何学习谷歌高性能 JavaScript 引擎V8?

01 | V8是如何执行一段JavaScript代码的?

JavaScript设计思想篇 (7讲)

02 | 函数即对象:一篇文章彻底搞懂JavaScript的函数特点

03 | 快属性和慢属性:V8是怎样提升对象属性访问速度的?

04 | 函数表达式:涉及大量概念,函数表达式到底该怎么学?

05|原型链:V8是如何实现对象继承的?

06|作用域链:V8是如何查找变量的?

07|类型转换:V8是怎么实现1+“2”的?

08|答疑:如何构建和使用V8的调试工具d8?

V8编译流水线 (8讲)

09 | 运行时环境:运行JavaScript代码的基石

10 | 机器代码:二进制机器码究竟是如何被CPU执行的?

11 | 堆和栈:函数调用是如何影响到内存布局的?

12 | 延迟解析:V8是如何实现闭包的?

13 | 字节码(一):V8为什么又重新引入字节码?

14|字节码(二):解释器是如何解释执行字节码的?

15 | 隐藏类:如何在内存中快速查找对象属性?

16 | 答疑: V8是怎么通过内联缓存来提升函数执行效率的?

事件循环和垃圾回收 (6讲)

17 | 消息队列:V8是怎么实现回调函数的?

18 | 异步编程(一):V8是如何实现微任务的?

19|异步编程(二):V8是如何实现async/await的?

20 | 垃圾回收(一):V8的两个垃圾回收器是如何工作的?

21 | 垃圾回收(二):V8是如何优化垃圾回收器执行效率的?

22|答疑:几种常见内存问题的解决策略

结束语 (2讲)

结束语 | 我的前端

结课测试 | 这些V8的知识你都掌握了吗?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注