Home  >  Article  >  Web Front-end  >  Why does node.js introduce buffer? Brief analysis of buffer buffer

Why does node.js introduce buffer? Brief analysis of buffer buffer

青灯夜游
青灯夜游forward
2021-08-04 10:05:141994browse

This article will take you to understand the buffer buffer in node.js, and introduce why buffer is introduced in node.js, in what scenarios the node server needs buffering, etc.

Why does node.js introduce buffer? Brief analysis of buffer buffer

Why is buffer introduced in node.js

The English definition of buffer

Buffer means buffering in English. From this meaning, we can initially understand that buffer is introduced to buffer on the node server. [Recommended learning: "nodejs Tutorial"]

In what scenarios does the node server need buffering

Since node is used For servers, you need to deal with network requests (net, http), operate file systems (fs, readline), process pictures, upload and download files, etc. node selects js, and the V8 engine is needed to execute js. Isn’t the powerful V8 engine capable of the job?

Limitations of V8

Why does V8 have restrictions? V8 was born for the chrome browser, which is used to render web pages. For the display of web pages, V8 is designed to use about 1.4G of memory under the 64-bit operating system and about 0.7G of memory under the 32-bit operating system. This is The memory size is sufficient for the display of web pages, but it will be insufficient for server-side use.

The bottom layer of node uses C to allocate memory

Since V8 limits the use of memory, the bottom layer of node uses C to allocate memory, and it can indeed be obtained Larger memory, but Lao Tzu said: Tao can be Tao, not Tao, name can be named, but not name. Similarly, if the allocated memory has a certain size, it will be full, blocked, and then the service will be slow or even crash.

How does the buffer handle the above scenario?

Mars Immigration

Imagine this scenario , it is necessary to transfer 1 billion creatures (English characters, Chinese characters, Arabic characters, etc.) on the Earth (C disk) to Mars (D disk). We have established a space station (memory) between the Earth and Mars that can accommodate 10 million creatures. ; If 1 billion organisms enter the space station at the same time, it will be a disaster (collapse); Earth’s spacecraft (buffer) has 1,000 positions (bytes) to carry organisms to the space station; and then the spacecraft to Mars (buffer) buffer) has 1000 positions (bytes), and then carries organisms to Mars.

Concept extraction

  • Buffer: is used to represent a fixed-length byte sequence, such as: fixed 1000-position spacecraft
  • UTF-8: is a variable-length encoding method. It can use 1~4 bytes to represent a symbol, and the byte length varies according to different symbols. For example: the spacecraft will stipulate that English creatures occupy 1 position, Chinese character creatures occupy 2 or 3, and 4 positions
##Original address: https://juejin.cn/post/6991495867219836936

Author: LE

For more programming-related knowledge, please visit:

Introduction to Programming! !

The above is the detailed content of Why does node.js introduce buffer? Brief analysis of buffer buffer. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:掘金--LE. If there is any infringement, please contact admin@php.cn delete