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

有趣的网站网址之家杭州网站建设网站制作

有趣的网站网址之家,杭州网站建设网站制作,中国城乡建设结合部网站,北京国家建设部网站版权声明 本文章来源于B站上的某马课程,由本人整理,仅供学习交流使用。如涉及侵权问题,请立即与本人联系,本人将积极配合删除相关内容。感谢理解和支持,本人致力于维护原创作品的权益,共同营造一个尊重知识…

版权声明

本文章来源于B站上的某马课程,由本人整理,仅供学习交流使用。如涉及侵权问题,请立即与本人联系,本人将积极配合删除相关内容。感谢理解和支持,本人致力于维护原创作品的权益,共同营造一个尊重知识产权的良好环境。

内存的生命周期

JS环境中分配的内存,一般有如下生命周期:

  • 内存分配:当我们声明变量、函数、对象的时候,系统会自动为他们分配内存
  • 内存使用:即读写内存,也就是使用变量、函数等 
  • 内存回收:使用完毕,由垃圾回收器自动回收不再使用的内存

JS垃圾回收机制—算法说明

堆栈空间分配区别:

1.栈(操作系统):由操作系统自动分配释放函数的参数值、局部变量等,基本数据类型放到栈里面。

2.堆(操作系统):一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。复杂数据类型放到堆里面。

引用计数

IE采用的引用计数算法,定义“内存不再使用”,就是看一个对象是否有指向它的引用,没有引用了就回收对象算法:

const arr = [1,2,3,4]
arr = null
let person = {age: 20,name: '松果'
}
let p = person
person = 1
p = null

引用计数存在一个致命问题:(循环引用)

如果两个对象互相引用,尽管他们已不再使用,垃圾回收器不会进行回收,导致内存泄漏。

function fn() {let o1 = {}let o2 = {}o1.a =o2o2.a =o1return '引用计数无法回收'
}
fn()

标记清除法

现代的浏览器已经不再使用引用计数算法了。

现代浏览器通用的大多是基于标记清除算法的某些改进算法,总体思想都是一致的。核心:

1.标记清除算法将“不再使用的对象”定义为“无法达到的对象”。

2.就是从根部(在JS中就是全局对象)出发定时扫描内存中的对象。凡是能从根部到达的对象,都是还需要使用的。3.那些无法由根部出发触及到的对象被标记为不再使用,稍后进行回收。

 

function fn() {let o1 = {}let o2 = {}o1.a =o2o2.a =o1return '引用计数无法回收'
}
fn()

 根部已经访问不到,所以自动清除

http://www.yayakq.cn/news/633251/

相关文章:

  • 校园网站怎么做html5网站开发软件
  • 中国建设银行山西分行招聘网站wordpress 主题不存在
  • 陕西建设厅网站首页如何给一个网站做优化
  • 如何将网站做成app百度查重入口
  • 门户网站建设依据seo网站建设微
  • 网站建设 深圳信科公司十堰网站设计
  • 做仿牌网站空间怎么建设公益网站
  • asp网站免费做网站需要钱吗
  • 如何制作一个个人网站服饰类电商网站建设策划
  • dede网站后台杭州做宠物网站的公司哪家好
  • 个人做网站还是公众号赚钱好wordpress可以生成静态吗
  • 24小时精准天气预报南沙网站建设优化
  • 网站后期维护怎么做设计公司品牌介绍
  • 百度网站优化排名男科医院在线咨询免费
  • 百度统计网站速度诊断工具网站开始开发阶段的主要任务
  • 搭建论坛网站的流程做网站买二手域名
  • 做酒招代理的网站wordpress手机端主题
  • 个人网页htmlseo关键词排名如何
  • 手机网站怎样做西安网站建设技术外包
  • 怎么给自己制作一个网站北京市建设资格与执业资格注册中心网站
  • 做网站的技术要求高吗网站引导动画
  • wordpress网站的cdn怎么设置上海网站建设与设计公司好
  • 技术支持 昆明网站建设免费设计软件app
  • 汽车租赁网站设计学校网站asp源码
  • 推荐一下做年会视频的网站wordpress用户中心授权码
  • 做网站要用写接口app网站开发学习
  • 福州绿光网站建设工作室手机网站建设的整体流程
  • 做海报的网站有哪些视频网站开发要多少钱
  • 移动网站开发百科网站制作东莞
  • 仿网站建设教程视频旅游网站开发报价单