js垃圾回收
1)问什么是垃圾
一般来说没有被引用的对象就是垃圾,就是要被清除, 有个例外如果几个对象引用形成一个环,互相引用,但根访问不到它们,这几个对象也是垃圾,也要被清除。
2)如何检垃圾
一种算法是标记 标记-清除 算法,
栈内存和堆内存
基本类型大小固定,引用类型大小不固定,分开存放使得程序运行占用内存最小。
栈内存:存放基本类型。
堆内存:存放引用类型(在栈内存中存一个基本类型值保存对象在堆内存中的地址,用于引用这个对象。)
基本类型在当前执行环境结束时销毁,而引用类型不会随执行环境结束而销毁,只有当所有引用它 (注意这个重点)的变量不存在时这个对象才被垃圾回收机制回收。
参考文章: