前端面试之JS垃圾回收机制和内存泄漏

本文探讨了JavaScript中的内存泄漏及其识别方法,包括通过浏览器开发者工具和命令行。介绍了内存泄漏的常见原因,如意外全局变量、DOM清理不当、定时器内存泄漏和不正确使用闭包。建议避免内存泄漏的策略包括减少全局变量,及时释放无用数据。接着,文章深入讲解了垃圾回收机制,包括标记清除和引用计数两种策略,以及它们在处理内存管理时的优缺点。
摘要由CSDN通过智能技术生成

JS垃圾回收机制和内存泄漏

内存泄漏

浏览器封装的V8引擎支持对JS进行解析,当程序运行(runtime)时,只要程序提出需要内存,例如声明赋值字符串、对象、数组等变量时;操作系统就必须给分配内存使用,对于持续运行的服务进程,变量不断增加,并且内存没有得到及时的释放,内存占有会越来越大,轻则影响系统性能,重则直接导致系统崩溃。 不再用到的内存,没有及时释放,就叫做内存泄漏

有些语言(比如c语言)必须手动释放内存,程序员负责内存管理。

这很麻烦,所以大多数语言提供自动内存管理,减轻程序员的负担,这被称为垃圾回收机制

内存泄漏的识别方法

浏览器

1、使用快捷键 F12 或者 Ctrl+Shift+J 打开 Chrome 浏览器的「开发者工具」。

2、选择 Performance(老版为Timeline) 选项卡,在 Capture 选项中,只勾选 Memory

3、设置完成后,点击最左边的 Record 按钮,然后就可以访问网页了。

4、打开一个网站,例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值