《浏览器工作原理与实践》笔记之垃圾回收 先了解下垃圾回收领域的重要术语——代际假说和分代收集。
代际假说
第一个是大部分对象在内存中存在的时间很短,简单来说,就是很多对象一经分配内存,很快就变得不可访问;
第二个是不死的对象,会活得更久。
分代收集
在 V8 中会把堆分为新生代和老生代两个区域,新生代中存放的是生存时间短的对象,老生代中存放的生存时间久的对象。
新生区通常只支持 1~8M 的容量,由《浏览器工作原理与实践》笔记之从堆栈空间看闭包过程 基础
我们先看下面的代码
function foo(){
var a = "极客时间"
var b = a
var c = {name:"极客时间"}
var d = c
}
foo()
执行第 4 行代码,由于 JavaScript 引擎判断右边的值是一个引用类型,这时候处理的情况就不一样了,JavaScr《浏览器工作原理与实践》笔记之渲染流程 由于渲染机制过于复杂,所以渲染模块在执行过程中会被划分为很多子阶段,输入的 HTML 经过这些子阶段,最后输出像素。我们把这样的一个处理流程叫做渲染流水线,其大致流程如下图所示:
按照渲染的时间顺序,流水线可分为如下几个子阶段:构建 DOM 树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成。
构建DOM树
为什么要构建 DOM 树呢?这是因为浏览器无法直接理解和使用 HTM《浏览器工作原理与实践》笔记之从输入URL到页面展示发生了什么 从输入URL到页面展示发生了什么,大致过程如下
一、用户输入
浏览器进程接收到用户输入的 URL 请求,浏览器进程便将该 URL 转发给网络进程。
当用户输入关键字并键入回车之后,这意味着当前页面即将要被替换成新的页面,不过在这个流程继续之前,浏览器还给了当前页面一次执行 beforeunload 事件的机会,beforeunload 事件允许页面在退出之前执行一些数据清理《浏览器工作原理与实践》笔记之数据包传输 从 数据包如何送达主机 、 主机如何将数据包转交给应用 和 数据是如何被完整地送达应用程序 这三个角度来为你讲述数据的传输过程。
IP:把数据包送达目的主机
下面我们一起来看下一个数据包从主机 A 到主机 B 的旅程:
上层将含有“极客时间”的数据包交给网络层;
网络层再将 IP 头附加到数据包上,组成新的 IP 数据包,并交给底层;
底层通过物理网络将数据包《浏览器工作原理与实践》笔记之浏览器进程 浏览器从单进程浏览器时代进入多进程时代
Q1:最新的浏览器架构图
Q2:浏览器打开一个tab页,一般会有几个进程?
浏览器主进程
GPU进程
网络进程
多个渲染进程。如果2个页面属于同一站点的话,并且从a页面中打开的b页面,那么他们会公用一个渲染进程
多个插件进程
如果页面里有iframe的话,iframe也会运行在单独的进程中!
如果 关注道招网公众帐号

联系博主
