美文网首页
垃圾回收&内存溢出&内存泄漏

垃圾回收&内存溢出&内存泄漏

作者: fb941c99409d | 来源:发表于2019-02-20 15:16 被阅读0次
垃圾回收 ( GC )
垃圾对象 - 当一个对象没有任何的变量或属性对它进行引用,此时我们将永远无法操作该对象,
这种对象就是一个垃圾,这种对象过多会占用大量的内存空间,导致程序运行变慢,

* 在JS中拥有自动的垃圾回收机制,会自动将这些垃圾对象从内存中销毁,

* 我们不需要也不能进行垃圾回收的操作

* 我们需要做的只是要将不再使用的对象设置null即可

obj = null 

1. 内存溢出
  * 一种程序运行出现的错误
  * 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
2. 内存泄露
  * 占用的内存没有及时释放
  * 内存泄露积累多了就容易导致内存溢出
  * 常见的内存泄露:
    * 意外的全局变量
    * 没有及时清理的计时器或回调函数
    * 闭包
// 1. 内存溢出
  var obj = {}
  for (var i = 0; i < 10000; i++) {
    obj[i] = new Array(10000000)
    console.log('-----')
  }

  // 2. 内存泄露
    // 意外的全局变量
  function fn() {
    a = new Array(10000000)
    console.log(a)
  }
  fn()

   // 没有及时清理的计时器或回调函数
  var intervalId = setInterval(function () { //启动循环定时器后不清理
    console.log('----')
  }, 1000)

  // clearInterval(intervalId)

    // 闭包
  function fn1() {
    var a = 4
    function fn2() {
      console.log(++a)
    }
    return fn2
  }
  var f = fn1()
  f()

  // f = null

相关文章

  • 记一次面试

    内存泄漏和内存溢出 概念 内存泄漏:垃圾回收器无法回收原本应该被回收的对象,这个对象就引发了内存泄露。 内存溢出:...

  • Android 优化

    Android 内存优化内存溢出 , 内存泄漏 , 内存泄漏过多就导致内存溢出 Android 系统垃圾回收机制内...

  • 深入理解JAVA笔记 - JAVA 垃圾回收

    概述 垃圾回收是JAVA很重要的特性,当内存溢出,内存泄漏时,了解垃圾回收可以有效地排查问题。 什么时候垃圾回收 ...

  • Android内存泄漏分析及MAT工具使用

    1.内存泄漏是什么 一句话概括:就是GC垃圾回收机制漏掉的垃圾对象,无法回收 内存泄漏过多就会造成内存溢出 2.什...

  • Java内存管理机制 ————浅析原理

    java内存管理机制 内存泄漏 内存溢出 内存抖动: 话术整理 首先java的内存管理机制 gc的垃圾回收...

  • 哪些操作会造成内存泄漏?

    内存泄漏,就是不再需要的对象仍然存在内存中,内存泄漏不断堆积的后果就是内存溢出,即内存不够用。 垃圾回收机制会定期...

  • 垃圾回收&内存溢出&内存泄漏

    垃圾回收 ( GC )

  • 面试题-第一期

    内存泄漏&&内存溢出 参考博客参考博客 先来看看内存泄漏,内存溢出,OOM,GC回收这几个概念。把App的堆内存空...

  • 内存泄漏

    内存泄漏和内存溢出的区别 内存泄漏:对象被创建之后,没有引用到,当时没有被回收,一直占用着内存 内存溢出:程序使用...

  • 性能优化 - 相关概念

    1. 内存泄漏和内存抖动 内存泄漏:GC,垃圾回收器,在内存吃紧时候回收内存时,无法回收某一块不再使用的区域...

网友评论

      本文标题:垃圾回收&内存溢出&内存泄漏

      本文链接:https://www.haomeiwen.com/subject/nzshyqtx.html