Node在内存的使用上应用的是在C++ 层面申请内存、在JavaScript中分配内存的策略
Node采用了slab动态内存管理分配机制
Buffer 的转换
字符串转Buffer
通过构造函数转换的...Buffer对象,存储的只能是一种编码类型
一个Buffer对象可以存储不同编码类型的字符串转码的值
Buffer转字符串
Buffer对象的toString()可以将Buffer对象转换为字 符串
Buffer...()
让data事件中传递的不再是一个Buffer对象,而是编码后的字符串
可读流对象在内部设置了一个decoder对象,进行Buffer到字符串的解码,然后传递给调用者
正确拼接Buffer
正确的拼接方式是用一个数组来存储接收到的所有...Buffer片段并记录下所有片段的总长度
然后调用 Buffer.concat() 方法生成一个合并的Buffer对象
Buffer 与性能
通过预先转换静态内容为Buffer对象,可以有效地减少CPU...的重复使用,节省服务器资源
动态内容和静态内容分离,静态内容部分可以通 过预先转换为Buffer的方式,使性能得到提升
尽量只读取Buffer,然后直接传输,不做额外的转换,避免损耗