前端基础知识---浏览器
1.浏览器垃圾回收机制?
一: 标记清除
这种算法的思想是给当前不使用的值加上标记,然后再回收其内存
算法流程:
1.浏览器再运行的时候会给存储再内存中的所有变量都加上标记
2.去掉环境中的变量以及被环境中引用的变量的标记
3.如果还有变量有标记,就会被视为准备删除的变量
4.垃圾回收机制完成内存的清除工作,销毁那些带标记的变量,并回收他们所占用的内存空间
二:引用计数
这种算法的思想是跟踪记录所有值被引用的次数。javaScript 引擎目前都不再使用这种算法,但再IE 中访问非原生JavaScriopt 对象(如DOM元素)时,这种算法任然可能会导致问题
当代码中存在循环引用现象时,引用计数算法就会导致问题
解除变量的引用不仅可以帮于消除循环引用现象(一个变量使用完之后赋值为null),而且对垃圾收集也有好处。为了确保有效的回收内存,应该及时解除不再使用的全局对象、全局对象属性以及循环引用变量的引用
算法流程:
1.声明了一个变量并将一个引用类型的值赋值给这个变量,这个引用类型值引用次数就是1
【前端基础知识---浏览器】2.同一个值又被赋值另一个变量,这个引用类型的值引用次数加1
3.当包含这个引用类型值得变量又被赋值另一个值了,那么这个引用类型的值的引用次数减一
4.当引用次数变成0时, 说明这个值需要解除引用
5.当垃圾回收机制下次运行时,它就会释放引用次数为0 的值所占用的内存
推荐阅读
- 体系吃透前端工程化,大厂级实战项目以战带练mkw
- Java核心知识|面试必问系列 --- 多线程安全问题
- 「实践篇」解决微前端|「实践篇」解决微前端 single-spa 项目中 Vue 和 React 路由跳转问题
- 前端周刊第十三期
- 前端框架小实验-在umi框架中以worker线程方式使用SQL.js的wasm
- 笔记|Mybatis---ResultMap自定义映射规则
- 计算机网络|计算机网络---物理层实验
- 计算机网络|计算机网络---TCP/IP网络编程实验
- 蓝桥杯---子串分值(数学)
- wpf|C# Wpf 个人初学小案例---04PageDemo