当前位置: 首页 > news >正文

前端八股 7

垃圾回收机制

系统周期性地找出暂时不再使用的变量的机制,释放其内存的机制

方法:古老引用计数法

创建一张引用表记录各种资源被引用的次数,当引用次数为0就回收

问题:当有两个对象互相引用时会造成内存泄漏

比如:

function A(){
B()
}
function B(){
A()

这样函数A和函数B互相引用,A和B的引用数永远大于等于1,内存不会被释放,内存泄漏

标记清除法

当变量进入执行环境时,标记该变量为“进入环境”,当变量离开环境时,标记为“离开环境”

常见内存泄漏情况

1.函数中直接定义全局变量

function foo(arg) {bar = "this is a hidden global variable";
}

2.定时器函数
var someResource = getData();
setInterval(function() {
var node = document.getElementById(‘Node’);
if(node) {
// 处理 node 和 someResource
node.innerHTML = JSON.stringify(someResource));
}
}, 1000);

如果清除node指向的DOM元素,内部函数仍旧使用someResource变量造成内存泄漏

http://www.dtcms.com/a/167830.html

相关文章:

  • 7.0/Q1,GBD数据库最新文章解读
  • 2025五一杯数学建模C题:社交媒体平台用户分析问题;思路分析+模型代码
  • 加密解密记录
  • 【笔记】深度学习模型训练的 GPU 内存优化之旅⑤:内存分配篇
  • 电子秤检测管理系统开发实战:从数据采集到可视化大屏
  • 从0开始的c++知识讲解之字符串(1)
  • 体系学习1:C语言与指针1——预定义、进制打印、传参为数组
  • 【dify—7】文本生成应用实战——学员周报生成
  • 多模态大语言模型arxiv论文略读(五十二)
  • LabVIEW异步调用VI介绍
  • 【软件设计师:复习】上午题核心知识点总结(一)
  • FPGA中级项目8———UART-RAM-TFT
  • 数据结构——树(中篇)
  • Python控制语句全解析:用法、案例与注意事项
  • Redis实现分布式锁
  • 2025五一杯A题五一杯数学建模思路代码文章教学:支路车流量推测问题
  • python类私有变量
  • 【2025最新面经】暑期实习常问知识点
  • 简单句练习--语法基础
  • Python Cookbook-6.12 检查一个实例的状态变化
  • C++11新的特性
  • ZYNQB笔记(十六):AXI DMA 环路测试
  • 开发板型号 ESP32-DevKitC-32模块型号 ESP32-WROOM-32 和主控芯片 ESP32-D0WDQ6-V3
  • 【AI论文】仅通过一个训练样本对大型语言模型进行推理的强化学习
  • RocketMQ常见面试题一
  • Python PyTorch库【机器学习框架】全面深入讲解与实践 入选【全站综合热榜第四】【领域内容榜第一】
  • dify+ollama+知识库 部署
  • 【树莓派Pico FreeRTOS】-FreeRTOS-SMP移植
  • 第十六届 -- 蓝桥杯Web开发大学组省赛个人复盘
  • [FPGA 官方 IP] Binary Counter