当前位置:网站首页>内存泄露与内存溢出
内存泄露与内存溢出
2022-08-11 05:17:00 【前端小马】
内存溢出:
当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
内存泄漏:
1. 占用的内存没有及时释放
2. 内存泄露积累多了就容易导致内存溢出
3. 意外的全局变量:
JavaScript 处理未定义变量的方式比较宽松:未定义的变量会在全局对象创建一个新变量。在浏览器中,全局对象是 window 。
function fun(arg) {
a=1
}
//实际上是
function fun(arg) {
window.a=1
}
另一种意外的全局变量可能由 this 创建
function fun() {
this.a = "aaa";
}
// fun 调用自己,this 指向了全局对象(window)
fun();
3. 没有及时清理的计时器或回调函数
setInterval(function(){
console.log("...")// 启动定时器不清理
},100)
var time=setInterval(function(){
console.log("...")
},100)
clearInterval(time)//及时清理
4.闭包没有释放
function fn1() {
var arr = new Array(999999);
function fn2() {
console.log(arr.length);
}
return fn2;
}
var f = fn1(); //因函数fn2被f引用,所以fn2不会被回收
f();
f = null;//让内部函数成为垃圾对象,回收闭包,及时释放
边栏推荐
- npm install 时报 npm ERR Cannot read properties of null (reading ‘pickAlgorithm‘)
- 深入理解线程、进程、多线程、线程池
- CSDN 社区内容创作规范
- Markdown 常用到的一些编写技巧
- QT circle函数(图片标注)
- C language learning record--variable basic type and memory size
- 第13章 类的继承-1
- LeetCode43.字符串相乘 (大数相乘可用此方法)
- 08-Express路由详解
- Redis - the solution to the failure of connecting to the redis server in linux using jedis
猜你喜欢
【win10+cuda7.5+cudnn6.0安装caffe①】安装cuda和cudnn
【分享】一个免费语料库
【翻译】博客游戏项目Q1K3 – 制作
【CSDN21天学习挑战赛】第一天,配置环境外加实现mnist手写数字识别
selenuim使用cookie登录京东
吃瓜教程task04 第5章 神经网络
更新啦~人生重开模拟器自制
07-JS事件:事件类型、事件对象、事件传播、事件委托
在项目中使用flex布局的justify-content:space-around;遇到的问题,(数量为单数)
(1) Docker installs Redis in practice (one master, two slaves, three sentinels)
随机推荐
Summary: Cross Validation
C语言自定义类型——枚举类型讲解
04-开发自己的npm包及发布流程详细讲解
Blender 初教程
第10章 对象和类-2
【C语言进阶】第一篇深度剖析整数数据在内存中的存储(一)
npm install 时报 npm ERR Cannot read properties of null (reading ‘pickAlgorithm‘)
【网站小白】Hibernate插入数据成功,不报错,但是数据库中没有值
[C language from elementary to advanced] Part 1 Initial C language (1)
Win下安装不同版本的MinGW(g++/gcc)以及对应clion编辑器的配置
Chapter 5 Loops and Relational Expressions
普林斯顿概率论读本读书笔记(阅读中......)
09-ES6语法:变量、箭头函数、类语法、静态属性及非静态属性
c pointer learning (2)
C语言版通讯录——动态存储(进阶版)
【背包】采药题解
C语言——动态内存分配常见的错误案例
Who am I ?
The most complete installation tutorial of Pytorch (one step)
【win10+cuda7.5+cudnn6.0安装caffe②】安装Visual Studio 2013和caffe