图解 Google V8
李兵
前盛大创新院高级研究员
新⼈⾸单¥9.9
3959 人已学习
课程目录
已完结 25 讲
0/4登录后,你可以任选4讲全文学习。
宏观视角 (2讲)
开篇词 | 如何学习谷歌高性能 JavaScript 引擎V8?
免费
01 | V8是如何执行一段JavaScript代码的?
JavaScript设计思想篇 (7讲)
02 | 函数即对象:一篇文章彻底搞懂JavaScript的函数特点
03 | 快属性和慢属性:V8是怎样提升对象属性访问速度的?
04 | 函数表达式:涉及大量概念,函数表达式到底该怎么学?
05|原型链:V8是如何实现对象继承的?
06|作用域链:V8是如何查找变量的?
07|类型转换:V8是怎么实现1+“2”的?
08|答疑:如何构建和使用V8的调试工具d8?
V8编译流水线 (8讲)
09 | 运行时环境:运行JavaScript代码的基石
10 | 机器代码:二进制机器码究竟是如何被CPU执行的?
11 | 堆和栈:函数调用是如何影响到内存布局的?
12 | 延迟解析:V8是如何实现闭包的?
13 | 字节码(一):V8为什么又重新引入字节码?
14|字节码(二):解释器是如何解释执行字节码的?
15 | 隐藏类:如何在内存中快速查找对象属性?
16 | 答疑: V8是怎么通过内联缓存来提升函数执行效率的?
事件循环和垃圾回收 (6讲)
17 | 消息队列:V8是怎么实现回调函数的?
18 | 异步编程(一):V8是如何实现微任务的?
19|异步编程(二):V8是如何实现async/await的?
20 | 垃圾回收(一):V8的两个垃圾回收器是如何工作的?
21 | 垃圾回收(二):V8是如何优化垃圾回收器执行效率的?
22|答疑:几种常见内存问题的解决策略
结束语 (2讲)
结束语 | 我的前端学习踩坑史
结课测试 | 这些V8的知识你都掌握了吗?
图解 Google V8
15
15
1.0x
00:00/00:00
登录|注册

结束语 | 我的前端学习踩坑史

李兵 2020-05-07
你好,我是李兵。
这是我们这个系列课程的最后一讲,今天我们不谈技术,我想跟你聊聊这么多年我学习前端踩过的一些坑和学习心得。
其实我早些年主要是做 C/C++ 开发的,到了 2009 年,接触到了浏览器研发,这个时候我对前端并不是太熟悉,但是在开发浏览器的过程中,需要了解大量的前端知识。我当时的学习策略是,只有当遇到了与前端有关的问题时,才会去学习相应的知识来解决。这样做本意是想要节省时间,结果却反而让我花费了更多不必要的时间。
比如在开发双核浏览器的 Cookie 共享的过程中,我发现有一个例外,那就是设置了 HttpOnly 属性的 Cookie 是无法被共享的。
为了解决这个问题,我就去查 HttpOnly 相关概念,发现这和 Web 安全体系有关系,然后我就去补安全相关的知识。之后我又发现,浏览器多进程架构和安全系统息息相关,也就是说,这些知识是环环相扣的。
因为我当时对前端并没有做整体的了解,所以对浏览器中涉及到的安全相关的设计也没有过多关注。每次遇到一些和前端相关的细节问题时,我都需要花费很多时间去补充相关知识,然后再去解决问题,这种方式白白地浪费了我非常多的时间。更加遗憾的是,我之前积累的很多前端知识,都是这么缝缝补补学习过来的。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《图解 Google V8》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥9.9
立即订阅
登录 后留言

精选留言(17)

  • 成楠Peter
    再见了。老师这么高产,我相信很快又能见面了!
    2020-05-07
    12
  • M施
    我发现一个人的能力强,但他讲的不一定好,能让学生听的懂、看的懂也是一门学问。
    之前看了许多博客或者公众号文章大多数讲的不是很好。有些知识点写的有点晦涩又不到位。
    李兵老师就是那种能力强,讲的也很好的那种!!!
    受益良多。我是您的小粉丝,答应我,李老师要多多出专栏哦!
    2020-05-16
    1
    6
  • mfist
    看完这篇总结,又认真读了几遍。老师的这种体系化的学习方式,很受启发。以前学习零碎的前端知识总有种盲人摸象的感觉,觉得知识好多好杂。

    另外有个疑问对于技术栈底层的内容(比如浏览器架构),如果搞起来比较吃力,还需要花大力气啃下来吗?谢谢
    2020-05-07
    3
  • HoSalt
    老师你是怎么学CSS的?以及对于移动端的学习有什么好的建议或方法或学习资料于渠道?
    2020-05-07
    1
    2
  • 卖烧烤夫斯基
    从浏览器原理和实践到v8原理,每一篇文字都要反复看,谢谢,学到很多。非常希望再出专栏。
    2020-08-11
  • neohope
    收获很多,有些意犹未尽。希望老师能再出一门课程,可以把Chrome和V8讲的再深入一些。
    2020-08-09
  • -_-|||
    老师的学习能力太强,我等只能撸个代码

    作者回复: 你谦虚了,其实学啥都一样

    2020-06-23
  • 王晓聪
    老师真是学得广,写的深
    2020-06-05
  • Boogie 捷
    很同意老师的观点,但是有时候老板催活特别厉害,所以总是期望能花费最少的学习然后出活。个人感觉就是并不是每个公司或者老板都愿意等员工完善了自己的技术栈以后再交付产品
    2020-05-29
  • Geek_gaoqin
    能从栈底开始学是好的,不过一遍肯定理解不深,后面还是需要缝缝补补的不断迭代,才能理解更多
    2020-05-14
  • Geek_gaoqin
    老师,可以加餐个怎样进行网页性能分析,找出问题,以及如何解决吗?浏览器的performance这个panel有哪些内容,是如何实现的呢

    作者回复: Chrome的performance我在浏览器专栏中做了比较详细的介绍,v8中就不重复介绍了

    2020-05-14
  • Lorin
    老师再开一个【JavaScript面向对象的程序设计】专栏呗。感觉这个是属于拦路虎之一。
    2020-05-10
  • 余文郁
    v8课程意犹未尽,老师后续再讲点更多的内容,可以的话把浏览器渲染引擎部分的一些知识也出一个专栏
    2020-05-08
  • 大力
    构建自己的技术栈(或者说自己的知识思维导图),然后按照技术栈的项目有目的地学习。非常感激老师的经验分享!
    2020-05-08
  • tt
    非常赞同老师的方法论。感谢老师深入浅出的讲解
    2020-05-07
  • 海-元--
    在零零碎碎的构建前端知识体系后,尤其赞同老师的观点,在理解了底层后,再去理解上层也会容易很多。你会知道他为什么要这么做,是为了解决什么问题。
    2020-05-07
  • 幺零
    非常同意老师的观点
    2020-05-07
收起评论
17
返回
顶部