GC 定义与作用
- GC 就是垃圾回收机制的简写
- GC 可以找到内存中的垃圾、并释放和回收空间
GC 里的垃圾是什么
- 程序中不再需要使用对象
function func() {
name = "deyang"
return `${name} is a coder`
}
func()
从程序需求的角度,上述程序中的 name,再函数调用后 其实已经不在需要name了,从我们需求的角度应该是被当作垃圾回收的。至于有没有被回收,现在不做讨论
function func() {
const name = "deyang"
return `${name} is a coder`
}
func()
从程序运行过程角度,这个变量能否被引用到的角度去考虑。这一次 name 有了声明关键字,在函数调用完成之后,无法从函数外部访问到这个 name,所以找不到它的引用,也被当作垃圾
GC 算法是什么
- GC 是一种机制,垃圾回收器完成具体的工作
- 工作的内容就是查找垃圾释放空间、回收空间
- 算法就是工作室查找和回收所遵循的规则
常见 GC 算法
- 引用计数
- 标记清除
- 标记整理
- 分代回收