图解 Google V8--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- V8 执行 JavaScript 代码的完整流程;
- JavaScript 的核心特性;
- 事件循环和垃圾回收的工作机制;
- 系统优化 JavaScript 执行效率的方法。
课程介绍
V8 是 Google 基于 C++ 编写的开源高性能 JavaScript 与 WebAssembly 引擎,主要的应用包括Chrome浏览器以及Node.js。得益于Chrome浏览器的市场占有率以及Chromium阵营的不断强大,V8已经成为了当今最主流的JavaScript引擎。
但很多前端开发人员对 V8 的理解还停留在表面,只是单纯地使用 JavaScript 和调用 Web API,并不了解 V8 这个“黑盒”内部是如何工作的,项目出现问题时,也只能是“头疼医头,脚疼医脚”,没有系统的解决策略;想要系统学习V8时,也不知道从何处着手,不能迅速抓住V8的核心知识要点。
因此,我们邀请了李兵,带来第二季课程《图解 Google V8》。在这个课程中,他将完整地梳理V8的核心知识体系,通过大量图片演示,深入浅出地讲解 V8 执行 JavaScript 代码的底层机制和原理。
通过学习这门课程,你不仅可以了解完整的 V8 编译流水线,还能通过对 V8 工作机制的学习,搞懂JavaScript语言的核心特性,进而从根源解决程序上的问题,加快 JavaScript 的执行速度。
V8知识图谱
模块介绍
本课程包括三个模块,分别是 JavaScript 设计思想篇、V8 编译流水线篇、事件循环和垃圾回收篇。
JavaScript 设计思想篇,关注 JavaScript 的设计思想,讨论它背后的核心特性,以及V8是是怎么实现这些特性的。
V8 编译流水线篇,带你分析 V8 的编译流水线所涉及到的具体知识点,同时也会穿插讲解一些内存分配相关的内容,因为函数调用、变量声明、参数传递或者函数返回数值都涉及到了内存分配。
事件循环和垃圾回收篇,深入到 V8 的心脏事件循环系统中,学习 V8 是如何实现JavaScript 单线程执行的。同时,关注垃圾回收问题,打通 V8 分配内存和回收数据的整个链路,掌握系统排查问题的方法。
课程目录
宏观视角
- 开篇词 | 如何学习谷歌高性能 JavaScript 引擎V8?
- 01 | V8是如何执行一段JavaScript代码的?
JavaScript设计思想篇
- 02 | 函数即对象:一篇文章彻底搞懂JavaScript的函数特点
- 03 | 快属性和慢属性:V8是怎样提升对象属性访问速度的?
- 04 | 函数表达式:涉及大量概念,函数表达式到底该怎么学?
- 05|原型链:V8是如何实现对象继承的?
- 06|作用域链:V8是如何查找变量的?
- 07|类型转换:V8是怎么实现1+“2”的?
- 08|答疑:如何构建和使用V8的调试工具d8?
V8编译流水线
- 09 | 运行时环境:运行JavaScript代码的基石
- 10 | 机器代码:二进制机器码究竟是如何被CPU执行的?
- 11 | 堆和栈:函数调用是如何影响到内存布局的?
- 12 | 延迟解析:V8是如何实现闭包的?
- 13 | 字节码(一):V8为什么又重新引入字节码?
- 14|字节码(二):解释器是如何解释执行字节码的?
- 15 | 隐藏类:如何在内存中快速查找对象属性?
- 16 | 答疑: V8是怎么通过内联缓存来提升函数执行效率的?
事件循环和垃圾回收
- 17 | 消息队列:V8是怎么实现回调函数的?
- 18 | 异步编程(一):V8是如何实现微任务的?
- 19|异步编程(二):V8是如何实现async/await的?
- 20 | 垃圾回收(一):V8的两个垃圾回收器是如何工作的?
- 21 | 垃圾回收(二):V8是如何优化垃圾回收器执行效率的?
- 22|答疑:几种常见内存问题的解决策略
结束语
- 结束语 | 我的前端学习踩坑史
- 结课测试 | 这些V8的知识你都掌握了吗?