You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# 第二季回归 | 这次我们来专门聊聊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](https://time.geekbang.org/column/intro/296?utm_term=zeusOVYAE&utm_source=app&utm_medium=geektime&utm_campaign=296-presell&utm_content=liulanqizhuanlan0316)》。在这一季里,我会专门讲讲V8的工作原理,帮你完整梳理V8的核心知识体系。在讲述方式上,我仍然延续这一季的风格,通过大量图片演示,深入浅出地讲解V8执行JavaScript代码的底层机制和原理。
|
|
|
|
|
|
|
|
|
|
希望通过这门课程,带你了解完整的V8编译流水线,同时通过对V8工作机制的学习,搞懂JavaScript语言的核心特性,进而从根源解决程序问题,加快JavaScript的执行速度。
|
|
|
|
|
|
|
|
|
|
下面是专栏的目录:
|
|
|
|
|
|
|
|
|
|
![](https://static001.geekbang.org/resource/image/2c/a1/2cb0c3abcb6d7683df56353ac33beca1.jpg)
|
|
|
|
|
|
|
|
|
|
为了感谢老同学,我还准备了一个「专属福利」:
|
|
|
|
|
|
|
|
|
|
3 月 16 日,专栏上新时,我会送你一张 10 元专属优惠券,可与限时优惠同享,有效期 48 小时,建议尽早使用。
|
|
|
|
|
|
|
|
|
|
**点击下方图片**,立即免费试读新专栏。
|
|
|
|
|
|
|
|
|
|
[![](https://static001.geekbang.org/resource/image/c4/c4/c485757bed7d2269fe02048011a5f5c4.jpg)](https://time.geekbang.org/column/intro/296?utm_term=zeusOVYAE&utm_source=app&utm_medium=geektime&utm_campaign=296-presell&utm_content=liulanqizhuanlan0316)
|
|
|
|
|
|
|
|
|
|
一段新的征程,期待与你见证成长!我在《[图解Google V8](https://time.geekbang.org/column/intro/296?utm_term=zeusOVYAE&utm_source=app&utm_medium=geektime&utm_campaign=296-presell&utm_content=liulanqizhuanlan0316)》等你。
|
|
|
|
|
|