web前端知識點歸納筆記:你要知道瀏覽器是多程序的
今天看到一張有意思的動圖,拿來與大家分享一下:各大瀏覽器站在一起觀賞風景,當預感到濺起的水花即將奔來的剎那,除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前端知識點歸納筆記:程序與執行緒[公眾號回覆“電子書”,送你經典前端電子書籍]
喜歡本文的朋友們,歡迎關注微信公眾號 張培躍 ,收看更多精彩內容