Buffer缓冲器

Buffer

  • 是一个类似于数组的对象,不同是Buffer是专门用来保存二进制数据的
  • 特点
    • 效率高,存储和读取快,直接对计算机内存进行操作
    • 大小一旦确定了,不可修改
    • 每个元素占用内存的大小为1字节
    • 是Node的核心模块,无需引用下载,即可使用

// 实例化 Buffer对象 --- 性能特别差
let buf = new Buffer(10);
// 替代
let buf2 = Buffer.alloc() // 创建一个Buffer对象(性能比new 稍强)
let buf3 = Buffer.alloUnsafe() // 创建一个Buffer对象(性能最好)
/*
1. 输出 buf3 里面有大于1的 ?
输出的是16进制,存储的是二进制
2. 输出的 buf3 不为空 ?
在堆里开辟的空间,可能残留数据,所以allocunsafe

*/
// 将数据存储一个Buffer实例
let buf4  = Buffer.from('hello,world')
/*
1. 自动实例化Buffer对象
2. 输出16进制
3. 通过 .toString() 转换成字符串
*/

以上代码中

  • buf 性能差的原因
    • 在堆里开辟空间
    • 清理空间
  • buf2 性能稍微好的原因
    • 在堆中开辟一个空间
    • 该空间没有用过
  • buf3 性能最好
    • 随机在堆里开辟空间
    • 可能存在残留数据
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇