zoukankan      html  css  js  c++  java
  • 280 内存溢出与内存泄露

    1、内存溢出

    • 一种程序运行出现的错误
    • 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误

    2、内存泄露

    • 占用的内存没有及时释放
    • 内存泄露积累多了就容易导致内存溢出
    • 常见的内存泄露:
      • 意外的全局变量
      • 没有及时清理的计时器或回调函数
      • 闭包

    02_内存溢出与内存泄露

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>02_内存溢出与内存泄露</title>
    </head>
    <body>
    
    <!--
    1. 内存溢出
      * 一种程序运行出现的错误
      * 当程序运行需要的内存超过了剩余的内存时, 就出抛出内存溢出的错误
    2. 内存泄露
      * 占用的内存没有及时释放
      * 内存泄露积累多了就容易导致内存溢出
      * 常见的内存泄露:
        * 意外的全局变量
        * 没有及时清理的计时器或回调函数
        * 闭包
    -->
    
    <script type="text/javascript">
      // 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
    
    </script>
    </body>
    </html>
    
  • 相关阅读:
    linux系统缓存机制
    信号“未决”与“阻塞”
    异步I/O
    Unix下五种IO模型
    【设计模式
    【设计模式
    【设计模式
    【设计模式
    【设计模式
    【设计模式
  • 原文地址:https://www.cnblogs.com/jianjie/p/12249814.html
Copyright © 2011-2022 走看看