久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網
      最全最豐富的資訊網站

      為什么node.js要引入buffer?淺析緩沖區(qū)buffer

      本篇文章帶大家了解一下node.js中的緩沖區(qū)buffer,介紹一下為什么node.js中要引入buffer、node服務器在什么場景需要緩沖等等。

      為什么node.js要引入buffer?淺析緩沖區(qū)buffer

      為什么node.js中要引入buffer

      buffer的英文釋義

      buffer在英文中是緩沖,緩存的意思,從這個意思中可以初步獲悉引入buffer是為了在node服務器上面做緩沖的?!就扑]學習:《nodejs 教程》】

      node服務器在什么場景需要緩沖

      既然node是用于服務器,那就需要應對網絡請求(net,http),操作文件系統(tǒng)(fs,readline),處理圖片,文件的上傳與下載等場景。node選中了js,同時需要V8引擎來執(zhí)行js,強大的V8引擎難道不能勝任了嗎?

      V8的限制

      為什么V8會有限制呢?V8的誕生是用于chrome瀏覽器的,瀏覽器用于呈現(xiàn)網頁;對于網頁的展示,V8設計時在64位操作系統(tǒng)下使用內存約為1.4G,32操作系統(tǒng)下約為0.7G內存,這樣的內存大小對于網頁的展示是足夠的,但是對于服務器端的使用就會捉襟見肘。

      node底層C++來分配內存

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

      緩沖區(qū)buffer怎么處理上述場景的問題

      火星移民

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

      概念提取

      • Buffer: 用于表示固定長度的字節(jié)序列,好比:固定1000個位置的飛船
      • UTF-8:是一種變長的編碼方式。它可以使用1~4個字節(jié)表示一個符號,根據(jù)不同的符號而變化字節(jié)長度。好比:飛船會規(guī)定英文生物占用1個位置,漢字生物占用2個或者3個,4個位置

      原文地址:https://juejin.cn/post/6991495867219836936

      作者:LE

      贊(0)
      分享到: 更多 (0)
      網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號