浏览器的底层运行机制

本文深入探讨浏览器的渲染机制,从进程和线程的角度出发,详细阐述DOM和CSSOM的创建,以及渲染树的生成、布局、分层和绘制过程。同时,文章分析了JavaScript执行对渲染的影响,并提供了性能优化技巧,如CSS的加载方式、DOM操作和资源加载策略。
摘要由CSDN通过智能技术生成

一、复习

1.进程和线程

  • 进程:指一个程序(或浏览器打开一个页面就是开辟一个进程)* 线程:程序中具体执行任务的一个进程中可能包含一到多个线程!!* 单线程:同时只能处理一件事,上一件事处理完,下一件事才能处理「同步编程」* 多线程:可同时处理多件事情,上一件事情即便没有处理完,下一件事也可以交给其他线程去处理「异步编程」### 2.浏览器的渲染进程

浏览器打开一个页面就是开辟一个进程,每个进程中会包含多个线程「浏览器是多线程的」!!

  • GUI渲染线程:渲染解析HTML/CSS代码,并且绘制页面 =>W3C* JS引擎线程:渲染解析JS代码 =>ECMAScript「ECMA」* 定时器监听线程:设置定时器后,浏览器就会分配一个线程(小人)去监听定时器是否到时间* 事件监听线程:完成事件绑定后,也会分配一个线程去监听事件是否触发* HTTP网络线程:分配一个线程,去服务器获取相关的资源信息 「并发上限:同源下最多开辟5~7个」* …接下来正式开始!

二、浏览器底层渲染机制

当基于HTTP网络,从服务器端获取到页面源代码后,到浏览器把其绘制成页面,中间所做的事情,就是我们要研究的渲染机制!

1. 创建DOM TREE(DOM树)

2. 创建CSSOM TREE(样式树)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值