认识内存管理

不管什么样的编程语言,在代码的执行过程中都是需要给他分配内存的,不同的是某些编程语言需要我们自己手动的管理内存
某些编程语言会可以自动帮助我们管理内存

手动管理内存的缺点

  • 手动管理内存的语言,非常的低效,影响我们编写逻辑的代码的效率。
  • 对开发者的要求也很高,并且一不小心就会产生内存泄露

内存的管理的生命周期

  1. 第一步:分配申请你需要的内存(申请)
  2. 第二步:使用分配的内存(存放一些东西,比如对象等)
  3. 第三步:不需要使用时,对其进行释放

JS的内存管理

在JS中主要管理的是栈内存和堆内存
栈内存:用来存储基本数据类型,相当于是一块存放临时变量的内存块
堆内存:用来存储的复杂数据类型,相当于是引用值对应的空间(有数据引用着就使用这块内存,如果该数据没有被任何得变量或者其他东西所占用,浏览器会在空闲的时候,自主进行内存回收,把所有不被占用得内存销毁掉)

JS中的垃圾回收器

因为内存的大小是有限的,所以当内存不再需要的时候,我们需要对其进行释放,以便腾出更多的内存空间。

GC算法:
  1. 引用计数法
  2. 标记清除法

猜你喜欢

转载自blog.csdn.net/xiaoxiannvh/article/details/128962270