专栏首页张培跃知识点归纳笔记:你要知道浏览器是多进程的

知识点归纳笔记:你要知道浏览器是多进程的

今天看到一张有意思的动图,拿来与大家分享一下:各大浏览器站在一起观赏风景,当预感到溅起的水花即将奔来的刹那,除IE浏览器成功接收了水花的洗礼外,其它的浏览器早就一一避开了。难道说IE浏览器的反映速度真的有那么慢吗?是的,IE浏览器的速度真的有那么慢!

有的时候静下来仔细想想,连IE浏览器都有勇气让你将它设为默认浏览器,那么面对面试官,还有什么理由去害怕呢?


提前声明下,本笔记所提到的浏览器均指Chrome浏览器。为什么?因为上图告诉我们Chrome反映最快!
正式开始写笔记之前,我们先来了解二个关于计算机的小概念——CPU与内存:
CPU:CPU(中央处理器)是计算机的核心配件,它的作用相当于我们人类的大脑,它负责对数据进行运算与处理。
内存:一座与CPU进行沟通的桥梁。也就是说数据只有通过内存这座桥梁才能够到达CPU(前提是CPU必须为空闲状态,否则数据必须要在内存这座梁上等着),然后被CPU进行处理。

CPU与内存你还需要知道二点:

1、当内存不足(桥梁超重)时,系统会自动从硬盘上划出一部分空间来扩充内存,这一部分空间就是常说的虚拟内存。不过虚拟内存写入与读取数据的速度与真正的内存相差很远,所以,当你内存不足的时候,硬盘一直在响就是这么个原因。
2、数据如果在内存当中由于某种原因未被释放或无法释放(该数据即是内存泄漏的数据),那么势必会造成内存的浪费,由此造成的运行速度减慢甚至崩溃的结果就是常被提到的内存泄漏。
总结下:我们安装的所有应用程序都是在内存中运行,然后在CPU中处理的。换言之,如果没有内存,你的CPU就无法接收到数据。

将CPU与内存搞清楚以后,再加上之前文章提到的进程(一个应用至少拥有一个进程),你应该知道,你的浏览器之所以能够打开并运行,那是因为系统为其进程分配了CPU与内存资源。

另外,浏览器是多进程的。当你每打开一个tab页,均被视为创建了一个新的进程(浏览器所有空白tab页属于一个进程)。

可以通过浏览器->更多工具->任务管理器查看(快捷键shift+Esc):

Chrome多进程的好处可以避免打开多个tab页争夺同一资源,整体体验会更加流畅。

另外,如果你安装Chrome插件并使用的话,其进程也是独立的,这样插件自己出问题了也不会影响浏览器的正常运行。

本文分享自微信公众号 - 张培跃(zhangpeiyue8),作者:张培跃

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个 Vue 页面的内存泄露分析

    什么是内存泄露?内存泄露是指new了一块内存,但无法被释放或者被垃圾回收。new了一个对象之后,它申请占用了一块堆内存,当把这个对象指针置为null时或者离开作...

    用户1272076
  • 我的前端面试总结(套路篇)

    2018年的秋天,金九银十的秋招季?,很荣幸,我也加入了跳槽求职的大部队?,虽然招聘热潮没有每年年初那样疯狂,但是还是看得出很多公司都在大量的求贤,和以往的跳槽...

    用户1272076
  • 我的天呀!各大编程语言齐祝大家新年快乐!最后有彩蛋!

    今天是大年初一,一年的第一天。是不是很兴奋?昨晚的春晚有没有熬夜看完?抢红包有没有抢到手痛?后面的几天是不是还有各种聚会?是不是还有大把的牛没有...

    用户1272076
  • Android | App内存优化 之 JVM & Android内存管理机制

    计数器的值代表着下一条需要执行的字节码指令,!!! 字节码解释器工作时, 就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,!!!! 分支、循环...

    凌川江雪
  • 软件性能测试(连载5)

    线程单元中的处理器队列的即时长度,如果大于CPU数量+1,说明处理器处于堵塞状态。

    小老鼠
  • Linux 内存池【转】

    233333
  • 存储器及其管理方式

    “计算机存储器包括主存和辅存,本文中存储器管理的对象主要是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。...

    搬砖俱乐部
  • 如何查看linux系统中空闲内存/物理内存使用/剩余内存

    查看系统内存有很多方法,但主要的是用top命令和free 命令 当执行top命令看到结果,要怎么看呢?这里说明一下: Mem: 666666k total,...

    业余草
  • 计算机是如何跑起来的?

    瞬间,鸦雀无声甚至气氛一度及其尴尬。作为一个CURD男孩,写代码就是一把梭复制粘贴,那能管那么宽?仔细一想,我也是学过计算机组成原理、操作系统原理的男孩,岂能说...

    帅地
  • dotnet 用 gcdump 调试应用程序内存占用

    在 Linux 等系统下,没有和 Windows 下这么好的 VisualStudio 支持。在客户端的环境,也不太好在用户端安装一个 VisualStudio...

    林德熙

扫码关注云+社区

领取腾讯云代金券