前端理论总结(js)——js垃圾回收机制 // 堆和栈的区别

两种方式:

引用计数

1:先声明一个变量,并将一个引用类型的值赋给该变量,那么这个引用类型的引用次数为1,计数为1
2:如果同一个引用类型的值又赋给其他变量,那么这个引用类型的值被引用的次数就会加一,引用次数为2,计数2,并以此类推
3:如果被该引用类型的值赋值的变量,被赋值了其他的引用类型的值,那么该类型的值的引用次数就需要减一
4:当该引用类型的值的引用次数为0,就说明没有变量被该引用类型的值赋值,所以就没有办法访问到这个引用类型的值
5:周期一到,垃圾收集器就会释放掉引用次数计数为0的引用类型的值所占的内存

标记清除

1:垃圾回收器,标记所有根变量
2:标记环境中的变量的引用
3:标记所有引用链上的对象,所有被访问的对象都被标记和记住,方便以后不再访问同一个对象多次
4:垃圾回收器完成内存清除工作,销毁那些未带标记的值并回收他们所占用的内存空间


堆和栈的区别

一个优先列表(优先级可以按照大小来规定)

程序员手动分配

存储:引用数据类型的数据

先进后出

系统进行分配

存储:基础数据类型和引用数据类型的地址

ヾ( ̄▽ ̄)Bye~Bye~

相关推荐

  1. 区别

    2024-03-28 00:24:04       34 阅读
  2. js垃圾回收机制

    2024-03-28 00:24:04       7 阅读
  3. 【数据结构】区别

    2024-03-28 00:24:04       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 00:24:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 00:24:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 00:24:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 00:24:04       20 阅读

热门阅读

  1. 【机器学习】如何计算解释模型的SHAP值

    2024-03-28 00:24:04       19 阅读
  2. 华为机试真题练习汇总(101~110)

    2024-03-28 00:24:04       17 阅读
  3. 新建uni-modules插件

    2024-03-28 00:24:04       19 阅读
  4. 前端理论总结(js)——闭包和内存泄漏

    2024-03-28 00:24:04       20 阅读
  5. 关于远程调试应用中的网页鸿蒙

    2024-03-28 00:24:04       18 阅读
  6. 面试算法-118-用队列实现栈

    2024-03-28 00:24:04       20 阅读
  7. [c++] 自写 MyString 类

    2024-03-28 00:24:04       19 阅读
  8. ShardingSphere对国产数据库的支持

    2024-03-28 00:24:04       18 阅读
  9. 《装饰器模式(极简c++)》

    2024-03-28 00:24:04       17 阅读
  10. LCR 001. 两数相除

    2024-03-28 00:24:04       16 阅读
  11. 大话设计模式之简单工厂模式

    2024-03-28 00:24:04       21 阅读