- 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 - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
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 模块中可用方法的列表:
序号 | 模块和描述 |
---|---|
1 |
用于检索一个整数值,该值将表示 v8 版本、命令行标志和检测到的 CPU 功能的版本标签。 |
2 |
用于检索 v8 堆空间的统计信息。 |
3 |
用于检索从 v8 版本派生的堆的统计信息 |
序列化 API 方法
以下是序列化 API中可用方法的列表:
序号 | 模块和描述 |
---|---|
1 |
用于将任何数据类型序列化为缓冲区 |
2 |
用于将缓冲区值反序列化为 JavaScript 值。 |
序列化器方法
以下是v8.Serializer 类中可用方法的列表:
序号 | 模块和描述 |
---|---|
1 |
用于将标头写入内部缓冲区。 |
2 |
用于序列化 JavaScript 值并将序列化的表示形式添加到内部缓冲区 |
3 |
用于检索存储在内部缓冲区中的值。 |
4 |
用于将原始 32 位无符号整数写入内部缓冲区。 |
5 |
用于将原始 64 位无符号整数写入内部缓冲区。 |
6 |
用于将 JavaScript 数字值写入内部缓冲区。 |
7 |
用于将原始字节写入序列化器的内部缓冲区。 |
反序列化器方法
以下是v8.Deserializer 类中可用方法的列表:
序号 | 模块和描述 |
---|---|
1 |
用于读取和验证内部缓冲区中的标头。 |
2 |
用于反序列化写入内部缓冲区的 JavaScript 值。 |
3 |
用于读取原始 32 位无符号整数并返回它。 |
4 |
用于读取原始 64 位无符号整数并将其作为包含其高位和低位值的数组返回。 |
5 |
用于从反序列化器的内部缓冲区读取原始字节。 |