内存管理介绍
- 内存: 由可独写单元组成,表示一片可操作空间
- 管理: 人为的去操作一片空间的申请、使用和释放
- 内存管理: 开发者主动申请空间、使用空间、释放空间
管理流程: 申请→使用→释放
JavaScript中内存管理
- 申请内存空间
- 使用内存空间
- 释放内存空间
一个简单的js管理流程
// 申请
let obj = {
};
// 使用
obj.name = "obj";
// 释放
obj = null;
Javascript中的垃圾
- JavaScript中内存管理是自动的
- 对象不再被引用时是垃圾
- 对象不能从根上访问到时是垃圾
JavaScript中的可达对象
- 可以访问到的对象就是可达对象(引用、作用域链)
- 可达的标准是从根出发是否能够被找到
- JavaScript中的根就可以理解为是全局变量对象
以下代码中存在两次引用,有可达对象
let obj = {
name: "xm" };
let ali = obj;
ali = null;
console.log(ali); // null
console.log(obj); // { name: 'xm' }
GC算法
GC 定义与作用
- GC 就是垃圾回收机制的简写