- Node.js教程
- Node.js - 教程
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 首次申请
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 活动
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 流程
- Node.js - 扩展应用程序
- Node.js - 包装
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲器
- Node.js - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
Node.js - V8 模块
chrome V8 引擎是一个高性能的 JavaScript 引擎,用 C++ 编写并在 Google Chrome 中使用。计算机只能理解机器语言,而不能理解JavaScript或HTML对象。
用 JavaScript 编写的代码只有浏览器才能理解,而机器无法理解。因此,JS V8 引擎会将 JavaScript 代码转换/转换为机器可理解的语言,以便机器可以理解。
NodeJS V8 模块提供特定于 Node.js二进制文件中内置的 V8 版本的 API。
包括 V8 模块
要包含 V8 模块,请在 Node.js 文档的开头添加下面给出的语法。
const v8 = require('v8')
V8 模块为我们提供了使用 NodeJS v8.getHeapStatistics() 方法和 v8.getHeapSpaceStatistics() 方法获取堆内存信息的方法。让我们用合适的例子来研究它们。
V8 堆的打印统计信息
为了打印 V8 堆的统计信息,我们使用 NodeJS v8.getHeapStatistics() 方法。
例
const v8 = require('v8');
console.log(v8.getHeapStatistics());
输出
total_heap_size: 5369856,
total_heap_size_executable: 524288,
total_physical_size: 4303400,
total_available_size: 17226376544,
used_heap_size: 2849672,
heap_size_limit: 17230200832,
malloced_memory: 8192,
peak_malloced_memory: 418904,
does_zap_garbage: 0,
number_of_native_contexts: 1,
number_of_detached_contexts: 0
}
V8 堆空间的打印统计信息
为了获取 V8 堆空间的统计信息,我们使用 NodeJS v8.getHeapSpaceStatistics() 方法。
例
const v8 = require('v8');
console.log(v8.getHeapSpaceStatistics());
输出
{
space_name: 'read_only_space',
space_size: 262144,
space_used_size: 32808,
space_available_size: 0,
physical_space_size: 33088
},
{
space_name: 'new_space',
space_size: 2097152,
space_used_size: 649416,
space_available_size: 398040,
physical_space_size: 2088040
},
{
space_name: 'old_space',
space_size: 1916928,
space_used_size: 1582320,
space_available_size: 88312,
physical_space_size: 1584560
},
{
space_name: 'code_space',
space_size: 430080,
space_used_size: 155616,
space_available_size: 0,
physical_space_size: 172000
},
{
space_name: 'map_space',
space_size: 528384,
space_used_size: 308880,
space_available_size: 0,
physical_space_size: 309720
},
{
space_name: 'large_object_space',
space_size: 135168,
space_used_size: 131112,
space_available_size: 0,
physical_space_size: 135168
},
{
space_name: 'code_large_object_space',
space_size: 0,
space_used_size: 0,
space_available_size: 0,
physical_space_size: 0
},
{
space_name: 'new_large_object_space',
space_size: 0,
space_used_size: 0,
space_available_size: 1047456,
physical_space_size: 0
}
]
V8 模块方法
以下是 V8 模块中可用的方法列表 -
模块 | 描述 |
---|---|
cachedDataVersionTag() |
用于检索一个整数值,该值将表示 v8 版本的版本标记、命令行标志和检测到的 CPU 功能。 |
getHeapSpaceStatistics() |
用于检索 v8 堆空间的统计信息。 |
getHeapStatistics() |
用于检索有关从 v8 版本派生的堆的统计信息 |
序列化 API 方法
以下是序列化 API 中可用的方法列表 -
模块 | 描述 |
---|---|
serialize() |
用于将任何数据类型序列化到缓冲区中 |
deserialize() |
用于将缓冲区值反序列化为 JavaScript 值。 |
序列化程序方法
以下是 v8 中可用的方法列表。序列化器类 -
模块 | 描述 |
---|---|
writeHeader() |
用于将标头写入内部缓冲区。 |
writeValue() |
用于序列化 JavaScript 值并将序列化的表示形式添加到内部缓冲区 |
releaseBuffer() |
用于检索存储在内部缓冲区中的值。 |
writeUnit32() |
用于将原始 32 位无符号整数写入内部缓冲区。 |
writeUnit64() |
用于将原始 64 位无符号整数写入内部缓冲区。 |
writeDouble() |
用于将 JavaScript 数字值写入内部缓冲区。 |
writeRawBytes() |
用于将原始字节写入序列化程序的内部缓冲区。 |
反序列化器方法
以下是 v8 中可用的方法列表。解串器类 -
模块 | 描述 |
---|---|
readHeader() |
用于读取和验证内部缓冲区中的标头。 |
readValue() |
用于反序列化在内部缓冲区中写入的 JavaScript 值。 |
readUnit32() |
用于读取原始的 32 位无符号整数并返回它。 |
readUnit64() |
用于读取原始的 64 位无符号整数,并将其作为数组及其更高和更低的值返回。 |
readRawBytes() |
用于从反序列化程序的内部缓冲区读取原始字节。 |