第二季回归-这次我们来专门聊聊V8

你好,我是李兵。在这个专栏中,我们对浏览器的工作原理进行了详细的介绍。

初期的浏览器,展示的只是一些静态页面,随着需要和页面交互的需求越来越多,JavaScript就出现在了浏览器中,它让静态的页面动了起来。目前JavaScript已成为页面中最核心的一部分了,不过,JavaScript作为一门高级语言,它的代码给到浏览器或者Node.js时,是不能直接被底层的CPU所执行的,这就需要通过JavaScript虚拟机来实现代码的编译和执行。

市面上有很多种JavaScript虚拟机,比如SpiderMonkey、V8、JavaScriptCore等,其中由谷歌开发的开源项目V8使用最为广泛。

V8主要应用于Google开源浏览器Chrome中,它拥有非常庞大的生态圈,一方面得益于全球25亿台安卓设备上的Chrome浏览器,另一方面,也和它的许多革命性设计分不开。

比如,V8摒弃了导致JavaScript执行速度过慢的解释执行方式,率先采用了即时编译(JIT)的双轮驱动的设计,混合了编译执行和解释执行两种方式。JIT作为一种权衡策略,大幅优化了JavaScript代码的执行效率,也将JavaScript虚拟机技术推向了一个全新的高度。

作为JavaScript程序员,你可能并不会去实现一个JavaScript虚拟机,不过我们还是有必要理解JavaScript虚拟机工作机制的,你可以从中学习到很多优化性能的方法,帮你写出更高效的JavaScript代码。

所以,我回到极客时间做了第二季专栏《图解Google V8》。在这一季里,我会专门讲讲V8的工作原理,帮你完整梳理V8的核心知识体系。在讲述方式上,我仍然延续这一季的风格,通过大量图片演示,深入浅出地讲解V8执行JavaScript代码的底层机制和原理。

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

下面是专栏的目录:

为了感谢老同学,我还准备了一个「专属福利」:

3 月 16 日,专栏上新时,我会送你一张 10 元专属优惠券,可与限时优惠同享,有效期 48 小时,建议尽早使用。

点击下方图片,立即免费试读新专栏。

一段新的征程,期待与你见证成长!我在《图解Google V8》等你。