极客时间图解 Google V8

极客时间图解 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 分配内存和回收数据的整个链路,掌握系统排查问题的方法。

课程目录

├── 01丨宏观视角 (2讲)/
│ ├── 00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.html
│ ├── 00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.m4a
│ ├── 00丨开篇词丨如何学习谷歌高性能JavaScript引擎V8?.pdf
│ ├── 01丨V8是如何执行一段JavaScript代码的?.html
│ ├── 01丨V8是如何执行一段JavaScript代码的?.m4a
│ └── 01丨V8是如何执行一段JavaScript代码的?.pdf
├── 02丨JavaScript设计思想篇 (7讲)/
│ ├── 02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.html
│ ├── 02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.m4a
│ ├── 02丨函数即对象:一篇文章彻底搞懂JavaScript的函数特点.pdf
│ ├── 03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.html
│ ├── 03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.m4a
│ ├── 03丨快属性和慢属性:V8采用了哪些策略提升了对象属性的访问速度?.pdf
│ ├── 04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.html
│ ├── 04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.m4a
│ ├── 04丨函数表达式:涉及大量概念,函数表达式到底该怎么学?.pdf
│ ├── 05丨原型链V8是如何实现对象继承的?.html
│ ├── 05丨原型链V8是如何实现对象继承的?.m4a
│ ├── 05丨原型链V8是如何实现对象继承的?.pdf
│ ├── 06丨作用域链:V8是如何查找变量的?.html
│ ├── 06丨作用域链:V8是如何查找变量的?.m4a
│ ├── 06丨作用域链:V8是如何查找变量的?.pdf
│ ├── 07丨类型转换:V8是怎么实现1+“2”的?.html
│ ├── 07丨类型转换:V8是怎么实现1+“2”的?.m4a
│ ├── 07丨类型转换:V8是怎么实现1+“2”的?.pdf
│ ├── 08丨答疑:如何构建和使用V8的调试工具d8?.html
│ ├── 08丨答疑:如何构建和使用V8的调试工具d8?.m4a
│ └── 08丨答疑:如何构建和使用V8的调试工具d8?.pdf
├── 03丨V8编译流水线 (8讲)/
│ ├── 09丨运行时环境:运行JavaScript代码的基石.html
│ ├── 09丨运行时环境:运行JavaScript代码的基石.m4a
│ ├── 09丨运行时环境:运行JavaScript代码的基石.pdf
│ ├── 10丨机器代码:二进制机器码究竟是如何被CPU执行的?.html
│ ├── 10丨机器代码:二进制机器码究竟是如何被CPU执行的?.m4a
│ ├── 10丨机器代码:二进制机器码究竟是如何被CPU执行的?.pdf
│ ├── 11丨堆和栈:函数调用是如何影响到内存布局的?.html
│ ├── 11丨堆和栈:函数调用是如何影响到内存布局的?.m4a
│ ├── 11丨堆和栈:函数调用是如何影响到内存布局的?.pdf
│ ├── 12丨延迟解析:V8是如何实现闭包的?.html
│ ├── 12丨延迟解析:V8是如何实现闭包的?.m4a
│ ├── 12丨延迟解析:V8是如何实现闭包的?.pdf
│ ├── 13丨字节码(一):V8为什么又重新引入字节码?.html
│ ├── 13丨字节码(一):V8为什么又重新引入字节码?.m4a
│ ├── 13丨字节码(一):V8为什么又重新引入字节码?.pdf
│ ├── 14|字节码(二):解释器是如何解释执行字节码的?.html
│ ├── 14|字节码(二):解释器是如何解释执行字节码的?.m4a
│ ├── 14|字节码(二):解释器是如何解释执行字节码的?.pdf
│ ├── 15丨隐藏类:如何在内存中快速查找对象属性?.html
│ ├── 15丨隐藏类:如何在内存中快速查找对象属性?.m4a
│ ├── 15丨隐藏类:如何在内存中快速查找对象属性?.pdf
│ ├── 16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.html
│ ├── 16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.m4a
│ └── 16丨答疑:V8是怎么通过内联缓存来提升函数执行效率的?.pdf
├── 04丨事件循环和垃圾回收 (6讲)/
│ ├── 17丨消息队列:V8是怎么实现回调函数的?.html
│ ├── 17丨消息队列:V8是怎么实现回调函数的?.m4a
│ ├── 17丨消息队列:V8是怎么实现回调函数的?.pdf
│ ├── 18丨异步编程(一):V8是如何实现微任务的?.html
│ ├── 18丨异步编程(一):V8是如何实现微任务的?.m4a
│ ├── 18丨异步编程(一):V8是如何实现微任务的?.pdf
│ ├── 19|异步编程(二):V8是如何实现async-await的?.html
│ ├── 19|异步编程(二):V8是如何实现async-await的?.m4a
│ ├── 19|异步编程(二):V8是如何实现async-await的?.pdf
│ ├── 20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.html
│ ├── 20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.m4a
│ ├── 20丨垃圾回收(一):V8的两个垃圾回收器是如何工作的?.pdf
│ ├── 21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.html
│ ├── 21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.m4a
│ ├── 21丨垃圾回收(二):V8是如何优化垃圾回收器执行效率的?.pdf
│ ├── 22|答疑:几种常见内存问题的解决策略.html
│ ├── 22|答疑:几种常见内存问题的解决策略.m4a
│ └── 22|答疑:几种常见内存问题的解决策略.pdf
├── 05丨结束语 (1讲)/
│ ├── 结束语丨我的前端学习踩坑史.html
│ ├── 结束语丨我的前端学习踩坑史.m4a
│ └── 结束语丨我的前端学习踩坑史.pdf

资源下载
下载价格9 积分
此资源购买后7天内可下载。客户QQ:402492891

免责声明:

1、IT资源小站为非营利性网站,全站所有资料仅供网友个人学习使用,禁止商用
2、本站所有文档、视频、书籍等资料均由网友分享,本站只负责收集不承担任何技术及版权问题
3、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除下载链接并致以最深的歉意
4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
5、一经注册为本站会员,一律视为同意网站规定,本站管理员及版主有权禁止违规用户
6、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和IT资源小站的同意
7、IT资源小站管理员和版主有权不事先通知发贴者而删除本文
3、原文链接:https://moreit.club/?p=672,转载请注明出处。

0

评论0

站点公告

没有账号?注册  忘记密码?