目錄
為什麼node.js中要引入buffer
緩衝區buffer怎麼處理上述場景的問題
首頁 web前端 js教程 為什麼node.js要引入buffer?淺析緩衝區buffer

為什麼node.js要引入buffer?淺析緩衝區buffer

Aug 04, 2021 am 10:05 AM
buffer node.js 緩衝區

這篇文章帶大家了解一下node.js中的緩衝區buffer,介紹為什麼node.js中要引入buffer、node伺服器在什麼場景需要緩衝等等。

為什麼node.js要引入buffer?淺析緩衝區buffer

為什麼node.js中要引入buffer

buffer的英文釋義

buffer在英文中是緩衝,快取的意思,從這個意思可以初步獲悉引入buffer是為了在node伺服器上面做緩衝的。 【推薦學習:《nodejs 教學》】

node伺服器在什麼場景需要緩衝

既然node是用於伺服器,那就需要應對網路請求(net,http),操作檔案系統(fs,readline),處理圖片,檔案的上傳與下載等場景。 node選取了js,同時需要V8引擎來執行js,強大的V8引擎難道不能勝任了嗎?

V8的限制

為什麼V8會有限制? V8的誕生是用於chrome瀏覽器的,瀏覽器用於呈現網頁;對於網頁的展示,V8設計時在64位元作業系統下使用內存約為1.4G,32作業系統下約為0.7G內存,這樣的記憶體大小對於網頁的展示是足夠的,但是對於伺服器端的使用就會捉襟見肘。

node底層C 來分配記憶體

#既然V8限制了記憶體的使用,node底層使用C 來分配內存,確實可以取得到更大的內存,但是老子曰:道可道,非常道,名可名,非常名;同理分配的內存有大小,就會有被佔滿,阻塞,繼而服務緩慢,甚至崩潰。

緩衝區buffer怎麼處理上述場景的問題

#火星移民

##想想像這個場景,需要將地球(C盤)上10億生物(英文字符,漢字,阿拉伯文字等)轉移到火星(D盤),我們在地球和火星之間建立了可容納1千萬生物的空間站(內存) ;如果10億生物同時進入太空站,將是一場災難(崩潰);地球的太空船(緩衝區buffer)有1000個位置(位元組)來運載生物到太空站;然後去火星的太空船(緩存區buffer)有1000個位置(位元組),再運載生物到火星。

概念提取

  • Buffer: 用來表示固定長度的位元組序列,好比:固定1000個位置的飛船
  • UTF-8:是一種變長的編碼方式。它可以使用1~4個位元組表示一個符號,根據不同的符號而變化位元組長度。好比:太空船會規定英文生物佔用1個位置,漢字生物佔用2個或3個,4個位置
原文地址:https://juejin.cn/post/6991495867219836936

作者:LE

更多程式相關知識,請造訪:

程式設計入門! !

以上是為什麼node.js要引入buffer?淺析緩衝區buffer的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

日誌記錄器緩衝區大小日誌有什麼用 日誌記錄器緩衝區大小日誌有什麼用 Mar 13, 2023 pm 04:27 PM

作用是:給工程師們回饋使用資訊與記錄方便分析問題(開發時使用的);由於使用者本身不是經常產生上傳日誌,所以對使用者無用。日誌記錄緩衝區是小型的、用於短期儲存將寫入到磁碟上的重做日誌的變更向量的臨時區域。日誌緩衝區對磁碟的一次寫入是來自多個交易的一批變更向量。即使如此,日誌緩衝區中的變更向量也是接近即時寫入磁碟,當會話發出COMMIT語句時,會即時執行日誌緩衝區寫入操作。

圖文詳解Node V8引擎的記憶體和GC 圖文詳解Node V8引擎的記憶體和GC Mar 29, 2023 pm 06:02 PM

這篇文章帶大家深入了解NodeJS V8引擎的記憶體和垃圾回收器(GC),希望對大家有幫助!

一文聊聊Node中的記憶體控制 一文聊聊Node中的記憶體控制 Apr 26, 2023 pm 05:37 PM

基於無阻塞、事件驅動建立的Node服務,具有記憶體消耗低的優點,非常適合處理海量的網路請求。在海量請求的前提下,就需要考慮「記憶體控制」的相關問題了。 1. V8的垃圾回收機制與記憶體限制 Js由垃圾回收機

聊聊如何選擇一個最好的Node.js Docker映像? 聊聊如何選擇一個最好的Node.js Docker映像? Dec 13, 2022 pm 08:00 PM

選擇一個Node的Docker映像看起來像是小事,但是映像的大小和潛在漏洞可能會對你的CI/CD流程和安全造成重大的影響。那我們要如何選擇一個最好Node.js Docker映像呢?

Node.js 19正式發布,聊聊它的 6 大功能! Node.js 19正式發布,聊聊它的 6 大功能! Nov 16, 2022 pm 08:34 PM

Node 19已正式發布,以下這篇文章就來帶大家詳解了解Node.js 19的 6 大特性,希望對大家有幫助!

深入聊聊Node中的File模組 深入聊聊Node中的File模組 Apr 24, 2023 pm 05:49 PM

文件模組是對底層文件操作的封裝,例如文件讀寫/打開關閉/刪除添加等等文件模組最大的特點就是所有的方法都提供的**同步**和**異步**兩個版本,具有sync 字尾的方法都是同步方法,沒有的都是異

一起聊聊Node中的事件循環 一起聊聊Node中的事件循環 Apr 11, 2023 pm 07:08 PM

事件循環是 Node.js 的基本組成部分,透過確保主執行緒不被阻塞來實現非同步編程,了解事件循環對建立高效應用程式至關重要。以下這篇文章就來帶大家深入了解Node中的事件循環 ,希望對大家有幫助!

聊聊Node.js中的 GC (垃圾回收)機制 聊聊Node.js中的 GC (垃圾回收)機制 Nov 29, 2022 pm 08:44 PM

Node.js 是如何做 GC (垃圾回收)的?下面這篇文章就來帶大家了解一下。

See all articles