ホームページ > 記事 > ウェブフロントエンド > なぜnode.jsはバッファを導入するのでしょうか?緩衝液の簡単な分析
この記事では、node.js のバッファー バッファーについて理解し、node.js にバッファーが導入される理由、ノード サーバーがバッファリングを必要とするシナリオなどを紹介します。
#バッファーの英語の定義
Buffer は英語でバッファリングを意味し、この意味から、ノードサーバー上のバッファーを意味することが最初に理解できます。 [推奨される学習: "nodejs チュートリアル "]
ノード サーバーはどのようなシナリオでバッファリングを必要としますか
since ノードサーバーの場合、ネットワーク リクエスト (net、http) の処理、ファイル システムの操作 (fs、readline)、画像の処理、ファイルのアップロードとダウンロードなどを行う必要があります。ノードは js を選択し、js を実行するには V8 エンジンが必要ですが、強力な V8 エンジンがその仕事を行うことができるのではないでしょうか?V8 の制限
V8 にはなぜ制限があるのですか? V8 は、Web ページのレンダリングに使用される Chrome ブラウザー用に生まれました。Web ページの表示には、64 ビット オペレーティング システムでは約 1.4G、32 ビット オペレーティング システムでは約 0.7G のメモリを使用するように設計されています。 bit オペレーティング システムです。これは、Web ページの表示には十分なメモリ サイズですが、サーバー側で使用するには不十分です。ノードの最下層は C を使用してメモリを割り当てます
V8 ではメモリの使用が制限されているため、ノードの最下層は C を使用してメモリを割り当てますメモリを割り当てると、確かにそれを取得できます より大きなメモリですが、老子は言いました: タオはタオではなくタオであることができます、名前は名前で指定できますが、名前ではありません同様に、割り当てられたメモリが特定のサイズである場合、それはいっぱいになります、ブロックされると、サービスが遅くなったり、クラッシュしたりすることがあります。火星移民
このシナリオを想像してください。地球(Cディスク)にいる10億匹の生物(英語文字、漢字、アラビア文字など)を火星(Dディスク)に転送する必要があり、地球と火星の間に宇宙ステーション(メモリ)を設置しました。 1,000 万匹の生物を収容できる ; 10 億の生物が同時に宇宙ステーションに入ると大惨事 (崩壊) になる; 地球の宇宙船 (バッファ) には生物を宇宙ステーションに運ぶための 1,000 の位置 (バイト) がある; そして次に、火星への宇宙船 (バッファ) バッファ) には 1000 の位置 (バイト) があり、生物を火星に運びます。#概念の抽出
プログラミング入門著者: LE
プログラミング関連の知識については、
以上がなぜnode.jsはバッファを導入するのでしょうか?緩衝液の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。