首页 > 文档
内存检查:多种类型的内存泄漏分析方案
- 2024-05-30
- 1558 ℃
内存泄漏
内存泄漏(Memory Leak)是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
这是来自百度百科的一段解释,下面我们先来看下 Node.js 中的内存回收策略。
Node.js GC 的策略
首先我们要理解在 Node.js 存储中分为堆和栈:
栈中主要存储的是一些原始类型,比如 Boolean、Null、Undefined、Number、BigInt、String 以及 Symbol;
堆中主要存储引用类型的数据,比如对象、全局变量等。
由于栈是系统存储的临时数据,因此系统会进行释放,不会引发内存泄漏问题;而堆中的数据是需要程序自己进行清理,因此存在内存泄漏风险,在 JavaScript 中进行垃圾回收的有引用计数和标记清除法。
而在 Node.js V8 引擎中使用了多种方法的融合:
对于存活较短的存储对象会使用Scavenge 算法;
而对于存活较长的对象或者说在 Scavenge 算法中存储的对象数据超过一定比例时,则会使用标记清除法与标记整理法相结合的方式。
具体这三种算法的细节,你需要自行去了解下,本讲核心还是内存泄漏的类型以及分析方法,下面我们先来了解下内存泄漏的分类。
下一篇:大幅成倍提升Redi处理性能
相关内容
Head First设计模式
仓储管理,领、退料记录...
库存日报,月报表 - 企...
实用人体解剖图谱 四肢分册
Effective java中文版
湖北农村义务教师情报站...
教师资格证考试-中学
张国静热点作文精讲班 ...
-
员工招聘制度表 - 企业管理表格
2024-07-27 1283
-
25年政治考研徐涛全程辅导资料
2024-08-18 2164
-
带你一起实现 JSON.Stringify 方法
2024-05-24 1220
-
Practical.API.Design.Confessions.of.a.Java.Framework.Architect
2024-05-28 1569
-
2012物理专业教师招聘试题
2024-08-20 1569
-
一个典型的分布式缓存系统是什么样的
2024-05-24 1332
-
2024考研政治全程复习资料
2024-08-19 1298
-
领域专用语言实战
2024-05-24 1539
-
锋利的jQuery
2024-05-28 1265
-
中小幼教师资格证考试必背资料
2024-08-20 1926
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


下载完整资料
点击分享文章