zoukankan      html  css  js  c++  java
  • 内存泄漏和内存溢出

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

    //内存泄漏
       //1.意外的全局变量
      function fn () {
        a = new Array(1000000) //全局变量
        console.log(a)
      }
      fn() //正常如果是局部变量的话,在函数执行完成以后就会被释放,全局变量的话就一直存在于内存中
     //2.定时器
    var intervalid = setInterval(function () { //启动循环定时器后不清理
        console.log('-----')
      },1000)
    
      //clearInterval(intervalId) //关闭
    
      //3.闭包
    
      function  fun () {
        var a = 3;
        function fn1 () {
          console.log(a)
        }
        return fn1
      }
      var f = fn1()
      f()
     
    不积跬步无以至千里
  • 相关阅读:
    软件需求分析
    行高line-height 和vertical-align
    python中的集合基础知识
    python中字典常用的函数和用法
    python中字符串常用的函数
    day-75CRM
    day-74CRM
    day73CRM
    day-72Django源码解析
    day-71Django补充
  • 原文地址:https://www.cnblogs.com/lyt0207/p/12040092.html
Copyright © 2011-2022 走看看