今天看到一张有意思的动图,拿来与大家分享一下:各大浏览器站在一起观赏风景,当预感到溅起的水花即将奔来的刹那,除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插件并使用的话,其进程也是独立的,这样插件自己出问题了也不会影响浏览器的正常运行。
推荐阅读:
web前端知识点归纳笔记:进程与线程
[公众号回复“电子书”,送你经典前端电子书籍]
喜欢本文的朋友们,欢迎关注微信公众号 张培跃,收看更多精彩内容
网友评论