
- 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 |
用於從反序列化器的內部緩衝區讀取原始位元組。 |