一门课搞懂 JavaScript 执行逻辑
V8 执行 JavaScript 代码的完整流程;
JavaScript 的核心特性;
事件循环和垃圾回收的工作机制;
系统优化 JavaScript 执行效率的方法。
模块介绍
本课程包括三个模块,分别是 JavaScript 设计思想篇、V8 编译流水线篇、事件循环和垃圾回收篇。
JavaScript 设计思想篇,关注 JavaScript 的设计思想,讨论它背后的核心特性,以及 V8 是是怎么实现这些特性的。
V8 编译流水线篇,带你分析 V8 的编译流水线所涉及到的具体知识点,同时也会穿插讲解一些内存分配相关的内容,因为函数调用、变量声明、参数传递或者函数返回数值都涉及到了内存分配。
事件循环和垃圾回收篇,深入到 V8 的心脏事件循环系统中,学习 V8 是如何实现 JavaScript 单线程执行的。同时,关注垃圾回收问题,打通 V8 分配内存和回收数据的整个链路,掌握系统排查问题的方法。
〖课程截图〗:
├──jk48001-图解 Google V8
| ├──01丨宏观视角 (2讲)
| | ├──00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.html 7.19M
| | ├──00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.m4a 6.99M
| | ├──00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.pdf 5.72M
| | ├──01丨V8是如何执行一段JavaScript代码的?.html 3.67M
| | ├──01丨V8是如何执行一段JavaScript代码的?.m4a 12.78M
| | └──01丨V8是如何执行一段JavaScript代码的?.pdf 2.50M
| ├──02丨JavaScript设计思想篇 (7讲)
| | ├──02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.html 3.19M
| | ├──02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.m4a 9.95M
| | ├──02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.pdf 1.98M
| | ├──03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.html 5.15M
| | ├──03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.m4a 9.71M
| | ├──03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.pdf 3.30M
| | ├──04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.html 4.01M
| | ├──04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.m4a 11.35M
| | ├──04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.pdf 2.55M
| | ├──05丨原型链V8是如何实现对象继承的?.html 3.83M
| | ├──05丨原型链V8是如何实现对象继承的?.m4a 12.43M
| | ├──05丨原型链V8是如何实现对象继承的?.pdf 2.72M
| | ├──06丨作用域链:V8是如何查找变量的?.html 3.92M
| | ├──06丨作用域链:V8是如何查找变量的?.m4a 8.72M
| | ├──06丨作用域链:V8是如何查找变量的?.pdf 2.39M
| | ├──07丨类型转换:V8是怎么实现1+“2”的?.html 3.40M
| | ├──07丨类型转换:V8是怎么实现1+“2”的?.m4a 8.98M
| | ├──07丨类型转换:V8是怎么实现1+“2”的?.pdf 1.89M
| | ├──08丨答疑:如何构建和使用V8的调试工具d8?.html 4.21M
| | ├──08丨答疑:如何构建和使用V8的调试工具d8?.m4a 14.32M
| | └──08丨答疑:如何构建和使用V8的调试工具d8?.pdf 2.52M
| ├──03丨V8编译流水线 (8讲)
| | ├──09丨运行时环境:运行JavaScript代码的基石.html 3.09M
| | ├──09丨运行时环境:运行JavaScript代码的基石.m4a 10.88M
| | ├──09丨运行时环境:运行JavaScript代码的基石.pdf 1.92M
| | ├──10丨机器代码:二进制机器码究竟是如何被CPU执行的?.html 4.14M
| | ├──10丨机器代码:二进制机器码究竟是如何被CPU执行的?.m4a 13.16M
| | ├──10丨机器代码:二进制机器码究竟是如何被CPU执行的?.pdf 2.54M
| | ├──11丨堆和栈:函数调用是如何影响到内存布局的?.html 4.29M
| | ├──11丨堆和栈:函数调用是如何影响到内存布局的?.m4a 12.58M
| | ├──11丨堆和栈:函数调用是如何影响到内存布局的?.pdf 3.04M
| | ├──12丨延迟解析:V8是如何实现闭包的?.html 2.90M
| | ├──12丨延迟解析:V8是如何实现闭包的?.m4a 9.96M
| | ├──12丨延迟解析:V8是如何实现闭包的?.pdf 1.88M
| | ├──13丨字节码(一):V8为什么又重新引入字节码?.html 4.23M
| | ├──13丨字节码(一):V8为什么又重新引入字节码?.m4a 9.46M
| | ├──13丨字节码(一):V8为什么又重新引入字节码?.pdf 2.80M
| | ├──14|字节码(二):解释器是如何解释执行字节码的?.html 3.94M
| | ├──14|字节码(二):解释器是如何解释执行字节码的?.m4a 11.60M
| | ├──14|字节码(二):解释器是如何解释执行字节码的?.pdf 2.58M
| | ├──15丨隐藏类:如何在内存中快速查找对象属性?.html 3.57M
| | ├──15丨隐藏类:如何在内存中快速查找对象属性?.m4a 12.71M
| | ├──15丨隐藏类:如何在内存中快速查找对象属性?.pdf 2.14M
| | ├──16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.html 3.51M
| | ├──16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.m4a 11.19M
| | └──16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.pdf 2.19M
| ├──04丨事件循环和垃圾回收 (6讲)
| | ├──17丨消息队列:V8是怎么实现回调函数的?.html 3.35M
| | ├──17丨消息队列:V8是怎么实现回调函数的?.m4a 8.45M
| | ├──17丨消息队列:V8是怎么实现回调函数的?.pdf 1.81M
| | ├──18丨异步编程(一):V8是如何实现微任务的?.html 7.16M
| | ├──18丨异步编程(一):V8是如何实现微任务的?.m4a 11.84M
| | ├──18丨异步编程(一):V8是如何实现微任务的?.pdf 5.32M
| | ├──19|异步编程(二):V8是如何实现async-await的?.html 3.50M
| | ├──19|异步编程(二):V8是如何实现async-await的?.m4a 10.96M
| | ├──19|异步编程(二):V8是如何实现async-await的?.pdf 2.19M
| | ├──20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.html 2.75M
| | ├──20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.m4a 8.60M
| | ├──20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.pdf 1.82M
| | ├──21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.html 2.93M
| | ├──21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.m4a 10.08M
| | ├──21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.pdf 1.96M
| | ├──22|答疑:几种常见内存问题的解决策略.html 3.26M
| | ├──22|答疑:几种常见内存问题的解决策略.m4a 9.17M
| | └──22|答疑:几种常见内存问题的解决策略.pdf 2.26M
| └──05丨结束语 (1讲)
| | ├──结束语丨我的前端学习踩坑史.html 2.33M
| | ├──结束语丨我的前端学习踩坑史.m4a 4.31M
| | └──结束语丨我的前端学习踩坑史.pdf 1.45M
评论0