摘要: 在启动 devServer 的时候,sockjs 在服务端和浏览器端建立了一个 webSocket 长连接,以便将 webpack 编译和打包的各个阶段状态告知浏览器,最关键的步骤还是 webpack-dev-server 调用 webpack api 监听 compile的 done 事件,当co 阅读全文
posted @ 2019-04-07 22:44 鱼儿鱼儿不要飞 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 浏览器缓存即http缓存 阅读全文
posted @ 2019-04-07 22:00 鱼儿鱼儿不要飞 阅读(99) 评论(0) 推荐(0) 编辑
摘要: JS是单线程的,但浏览器是多进程多线程的 这里的JS线程指的是JavaScript引擎(如V8引擎),浏览器一般包含多个进程:浏览进程、渲染进程、插件进程,每个tab页都有独立的进程。 渲染进程一般包含多个线程: JS引擎线程(主线程)、 GUI渲染线程(解析HTM、CSS,与JS引擎线程互斥) H 阅读全文
posted @ 2019-04-07 18:46 鱼儿鱼儿不要飞 阅读(1987) 评论(0) 推荐(0) 编辑
摘要: 内存分配 内存垃圾回收 引用是内存垃圾回收算法所依赖的主要概念之一。 引用计数垃圾回收:这是最简单的内存垃圾回收算法。当一个对象被 0 引用,会被标记为 "可回收内存垃圾"。但当循环引用时,将无法回收垃圾内存。 标记-清除算法 标记-清除算法包含三个步骤: 根:一般来说,根指的是代码中引用的全局变量 阅读全文
posted @ 2019-04-07 18:46 鱼儿鱼儿不要飞 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 过程: 1、解析HTML,构造DOM树 2、解析CSS,构造CSSOM树 3、将DOM树与CSSOM树合成为渲染树 4、根据渲染树进行布局,计算每个节点的几何信息 5、在屏幕上绘制各个节点 但除了渲染树的直接变化,当获取一些属性时,浏览器为取得 正确的值也会触发重排。这样就使得浏览器的优化失效了。 阅读全文
posted @ 2019-04-07 18:45 鱼儿鱼儿不要飞 阅读(111) 评论(0) 推荐(0) 编辑