1. 浏览器发展历史
a. 1995年,美国网景公司因“网景浏览器”的发布而快速崛起
b. 同年,微软发布windows95,捆绑IE
c. 2002年,微软占据了浏览器市场80%的份额
2. 浏览器三大进化路线(Web应用能做的事以及未来发展趋势)
a)应用程序Web化,如:视频、音频、游戏
b) Web应用移动化,如:谷歌新推出的PWA方案
c) Web操作系统化,如,SOA,WebAssembly
3. 学习浏览器的重要性
a)准确评估Web开发项目的可行性
i.技术选型
ii.方案规划
b)从更高维度审视项目
i.用户体验
ii.整体观感
c)在快节奏的技术迭代中把握本质
i.脚本执行速度
ii.前端模块化开发
4. 进程与线程
a)概念
i.线程:用来处理程序任务,不能单独存在
ii.进程:
即是一个程序运行的实例。
启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码、运行中的数据和一个执行任务的主线程,我们把这样的一个运行环境叫进程。
iii.
线程图解如下:
iv. 

v.
线程是依附于进程的,而进程中使用多线程并行处理能提升运算效率
b)
进程与线程的四大特点
i.进程中的任意一线程执行出错,都会导致整个进程的崩溃。
ii.线程之间共享进程中的数据
1.如图:线程之间可以对进程的公共数据进行读写操作
2. 

iii.当一个进程关闭之后,操作系统会回收进程所占用的内存
iv.进程之间的内容相互隔离
5.渲染流程:HTML+CSS+JS是如何渲染成页面的?
a) 
从上图可以看出,左边的HTML、CSS、JS经过中间渲染模块的处理,变成了用户在屏幕上看到的元素
b) 
由于渲染机制过于复杂,所以渲染模块在执行过程中会被划分为很多子阶段,输入的
HTML经过这些子阶段,最后输出像素。我们把这样的一个处理流程叫做渲染流水线。如图:

c)按照渲染的时间顺序,流水线可分为如下几个子阶段:构建DOM树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成。
i.构建dom树
1.原因:浏览器无法直接理解和使用HTML,所以需要将HTML转换为浏览器能够理解的结构——DOM树
2.树结构:
a) 

b)构建过程:
c) 

ii. 样式计算
1.将CSS转化成浏览器能够理解的结构
a) CSS来源,如图所示
b) 

2.转换样式表中的属性值,使其标准化
a) 

3.计算出DOM树中每个节点的具体样式
a) 

iii. 布局阶段
1.创建布局树
a)构造过程:
b) 

1.以上是小编通过浏览器内部总结的性能优化,欢迎大家进行讨论,码字不易,求给个赞哦~
2.前端技术交流学习,尽在WEB光明顶(web.xingruanedu.com)