内存检查:多种类型的内存泄漏分析方案
24-05-24 11:08
1188
0
内存泄漏
内存泄漏(Memory Leak)是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
这是来自百度百科的一段解释,下面我们先来看下 Node.js 中的内存回收策略。
Node.js GC 的策略
首先我们要理解在 Node.js 存储中分为堆和栈:
栈中主要存储的是一些原始类型,比如 Boolean、Null、Undefined、Number、BigInt、String 以及 Symbol;
堆中主要存储引用类型的数据,比如对象、全局变量等。
由于栈是系统存储的临时数据,因此系统会进行释放,不会引发内存泄漏问题;而堆中的数据是需要程序自己进行清理,因此存在内存泄漏风险,在 JavaScript 中进行垃圾回收的有引用计数和标记清除法。
而在 Node.js V8 引擎中使用了多种方法的融合:
对于存活较短的存储对象会使用Scavenge 算法;
而对于存活较长的对象或者说在 Scavenge 算法中存储的对象数据超过一定比例时,则会使用标记清除法与标记整理法相结合的方式。
具体这三种算法的细节,你需要自行去了解下,本讲核心还是内存泄漏的类型以及分析方法,下面我们先来了解下内存泄漏的分类。
-
英语八级名人演讲10篇音频
1.奥巴马在创业峰会上的讲话.mp310.陈冠希道歉声明.mp32.希拉里在纽约大学毕业典礼讲话.mp33.朱棣文在哈佛大学毕业典礼上的演讲.mp34.J.K.... 947 0 24-08-20 -
CSS3带小图标下拉菜单
575 0 21-06-01 -
jquery 滑动条滑杆评分
406 0 21-05-17 -
迅捷CAD转换器单文件版
迅捷CAD转换器是迅捷出品的一款非常好用的CAD图纸版本以及PDF转CAD转换器,它完美兼容非常多的CAD文件格式,如DWG、DXF、DWT等,使用它可以... 668 0 25-04-12 -
DBShop开源电子商务网店系统
DBShop开源电子商务网店系统采用业界知名框架 ZendFramework 2 开发而成。ZendFramework 2 为php 官方出品的顶级框架,安全性、灵活... 453 0 21-07-06 -
Coze 扣子 - 字节出品的超强 AI Bot 工具教程,免费无限白嫖 GPT4 方法
字节跳动推出的一款 AI Bot 平台产品——Coze (国内版叫“扣子”), 却居然能完全免费使用最新的 GPT4 模型!用户还能根据需求自建... 1888 0 24-04-07 -
常用正则表达式
特殊需求表达式 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.? InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\. 484 0 21-05-06 -
深入理解Android ——卷I
近两年来,IT行业的最热点聚焦到了移动互联网上。PC时代,WINTEL联盟成就了英特尔和微软各自的霸业。移动互联网时代,谁将上演新的传奇?新... 1122 0 24-05-24
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~