电脑浏览器垃圾回收机制
垃圾分类回收对策主要有两种
- 标记清除: 标识环节即是全部活动对象再加上标识,消除环节则会把并没有标识(非活动对象)消毁。
- 引用计数:把目标是不是不用简单化界定为目标是否有别的对象引用它。要是没有引入偏向该目标(引用计数为0),目标要被垃圾回收机制回收利用。
标记清除的缺陷
- 内存碎片化: 空余内存块并不是连续不断的,很容易出现许多空余内存块,还会发生分派需要运行内存过大目标时没有合适的块。
- 分派速度比较慢: 因为就算应用First-fit对策,其实际操作仍是一个O(n)实际操作,最糟情况就是每次都会赋值到后来,同时由于泛娱乐化,大对象分配效率会变慢。
处理之上缺陷可以使用标识梳理(Mark-Compact)优化算法, 标识完成后,标注梳理优化算法会把活着目标(且不必须清洗的目标)向运行内存的一端挪动,最终清除掉的界限运行内存。
#### 引用计数缺陷- 需要一个电子计数器,占有的存储空间大,不知道被引入总数上限。
- 难以解决循环引用所导致的没法回收利用难题。
V8的垃圾回收机制主要是基于标记清除优化算法,但是对此进行了一些提升。
- 对于再生区选用并行处理回收利用
- 对于须生区选用增加量标识与可塑性回收利用。