对浏览器垃圾回收机制的理解

这篇具有很好参考价值的文章主要介绍了对浏览器垃圾回收机制的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、浏览器的垃圾回收机制

1、垃圾回收的概念

     javaScript代码运行的时候,需要分配内存空间来存储变量和值。变量不再参与的时候,就需要系统收回被占用的内存空间,这就是垃圾回收

🌈 回收机制:
     ● js具有自动垃圾回收机制,会定期对那些不再使用的变量、对象占用的内存进行释放
     ● js 中存在变量,局部变量和全局变量。全局变量的是声明周期会持续到要页面卸载;局部变量声明在函数中,它的生命周期从函数执行开始,直到函数执行结束
     ● 局部变量使用闭包在外部可以使用,函数的执行结束后,函数外部的变量依然指向函数内部的局部变量。此时局部变量仍然在使用,所以不会回收

二、垃圾回收的方式

1、标记清除

      标记清除是浏览器最常见的垃圾回收方式,当环境进入执行环境的时候,被标记为进入环境的变量是不能被回收的,离开环境标记离开,会被内存释放
垃圾收集器在运行的时候会给存储在内存上的所有变量都加上标记,然后去掉环境中的变量以及被环境中的变量引用的标记

2、引用计数

      使用计数器来跟踪对象被引用的对象

三、减少垃圾回收

      浏览器可以进行垃圾自动回收,但是代码复杂的时候,垃圾回收带来的代价比较大,所以应该减少垃圾回收

🍧 以下三种方法
      ● 对数组进行优化
       清空一个数组的时候,最简单的方法就是将数组置空,但此时会同时创建一个新的空对象。可以选择将数组长度设为0
      ● 对对象进行优化
       对象尽量复用,对于不再使用的对象,就将其设置为null,尽快被回收
      ● 对函数进行优化
       在循环中的表达式,如果可以复用,尽量放在函数的外面文章来源地址https://www.toymoban.com/news/detail-628730.html

到了这里,关于对浏览器垃圾回收机制的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java垃圾回收机制深入理解

    Java垃圾回收机制是Java虚拟机(JVM)的核心组件之一,对于内存管理起到至关重要的作用。它能自动追踪并管理应用程序中创建的对象,当这些对象不再使用时,垃圾回收机制会自动回收其占用的内存,使这部分内存能够被再次利用。此机制极大地减少了开发者需要手动管理

    2024年02月09日
    浏览(29)
  • 深入理解JVM——垃圾回收与内存分配机制详细讲解

    所谓垃圾回收,也就是要回收已经“死了”的对象。 那我们如何判断哪些对象“存活”,哪些已经“死去”呢? 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加一;当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不可能再被使用的。 但是

    2024年02月12日
    浏览(30)
  • 关于js的内存管理和垃圾回收机制的理解

    js的内存管理: 内存管理,顾名思义,js在创建变量时,会在内存中分配空间,来储存新增的变量,其中有两种方式, 1:基本类型,系统会在内存中分配实实在在的内存空间,来存放新增的变量,存储的数据结构为栈 2:引用类型,函数,对象等,系统也会在内存中分配空间

    2024年02月11日
    浏览(33)
  • Python内存管理与垃圾回收机制:深入理解与优化【第138篇—RESTful API】

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在Python编程中,内存管理与垃圾回收机制是至关重要的主题。了解Python如何管理内存和处理垃圾回收对于编写高效、稳定的程序至关重要。本

    2024年03月18日
    浏览(42)
  • 浏览器渲染机制

    学习渡一课程、参考 必须明白的浏览器渲染机制 - 掘金 HTML解析 布局 分层 绘制 分块 光栅化 画 解析html会生成一个 dom树和cssom树   document.styleSheets  可以看到cssom树     渲染阻塞 在渲染的过程中,遇到一个script标记时,就会停止渲染,去请求脚本文件并执行脚本文件,因为

    2024年02月11日
    浏览(31)
  • 浏览器缓存机制

    什么是浏览器缓存 浏览器缓存就是浏览器根据 url 第一次访问网站之后,将网站的 html、css、js、图片等文件复制一份保留到浏览器中,当你二次访问这个 url 的网站时,如果网站没有明确表示有更新时,浏览器直接在缓存中查找内容,不会再次请求网页内容,只有网页明确表

    2024年02月04日
    浏览(35)
  • 【JavaScript】2.4 JavaScript和浏览器

    JavaScript最初是为了在浏览器中使用而创建的,它是Web开发的重要组成部分。在这一章节中,我们将学习如何使用JavaScript与浏览器进行交互。 DOM(Document Object Model)是一个编程接口,它允许JavaScript操作HTML文档的内容和结构。HTML文档被解析成一个DOM树,我们可以通过JavaScrip

    2024年02月04日
    浏览(31)
  • 在?聊聊浏览器事件循环机制

    目录 前言  同步/异步编程模型 同步 异步 JS异步模型 调用栈 任务队列 宏任务队列 微任务队列 微任务API 事件循环 队列优先级 混合队列 事件循环实现 总结 参考文章 Event-Loop可视化工具 JS是单线程语言,在某个时间段只能执行一段代码。这种单线程模型的好处是不会出现多

    2024年02月10日
    浏览(56)
  • [JavaScript] 第三章 Chrome 浏览器中调试JavaScript

    [JavaScript] 第一章 暂无 [JavaScript] 第一章 暂无 [JavaScript] 第三章 Chrome 浏览器中执行 JavaScript

    2024年02月15日
    浏览(38)
  • [JavaScript] 第三章 Chrome 浏览器中执行 JavaScript

    [JavaScript] 第一章 暂无 [JavaScript] 第一章 暂无 [JavaScript] 第三章 Chrome 浏览器中执行 JavaScript

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包