web前端:浅谈浏览器垃圾回收机制

    作者:活着ccc更新于: 2020-04-16 15:04:24

    Web开发

      网页浏览器是个显示网站服务器或文件系统内的文件,并让用户与这些文件交互的一种应用软件。它用来显示在万维网或局域网等内的文字、图像及其他信息。这些文字或图像,可以是连接其他网址的超链接,用户可迅速及轻易地浏览各种信息。

      javaScriipt使用垃圾回收机制来自动管理内存

      js的回收机制目前分为两种方式:1.标记清除(各大浏览器主流算法)2.引用技术

      一:标记清除

      这种算法的思想是给当前不使用的值加上标记,然后再回收其内存

      算法流程:

      1.浏览器再运行的时候会给存储再内存中的所有变量都加上标记

      2.去掉环境中的变量以及被环境中引用的变量的标记

      3.如果还有变量有标记,就会被视为准备删除的变量

      4.垃圾回收机制完成内存的清除工作,销毁那些带标记的变量,并回收他们所占用的内存空间

      二:引用计数

      这种算法的思想是跟踪记录所有值被引用的次数。Javascript引擎目前都不再使用这种算法,但再IE中访问非原生JavaScriopt对象(如DOM元素)时,这种算法任然可能会导致问题

      当代码中存在循环引用现象时,引用计数算法就会导致问题

      解除变量的引用不仅可以帮于消除循环引用现象(一个变量使用完之后赋值为null),而且对垃圾收集也有好处。为了确保有效的回收内存,应该及时解除不再使用的全局对象、全局对象属性以及循环引用变量的引用

      算法流程:

      1.声明了一个变量并将一个引用类型的值赋值给这个变量,这个引用类型值引用次数就是1

      2.同一个值又被赋值另一个变量,这个引用类型的值引用次数加1

      3.当包含这个引用类型值得变量又被赋值另一个值了,那么这个引用类型的值的引用次数减一

      4.当引用次数变成0时,说明这个值需要解除引用

      5.当垃圾回收机制下次运行时,它就会释放引用次数为0的值所占用的内存

      大部分网页为html格式,有些网页需特定浏览器才能正确显示。个人电脑上常见的网页浏览器按照2010年1月的市场占有率依次是微软的InternetExplorer、Mozilla的Firefox、Google的Chrome、苹果公司的Safari和Opera软件公司的Opera。浏览器是最常用的客户端程序。万维网是全球最大的链接文件网络文库。

课课家教育

未登录