zoukankan      html  css  js  c++  java
  • javaScript内存泄漏

    first:

          先理解我们的基本概念,什么是内存泄漏:

    答: 不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)

       程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。

    对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃

    当处理 JavaScript 这样的脚本语言时,很容易忘记每个对象、类、字符串、数字和方法都需要分配和保留内存。语言和运行时的垃圾回收器隐藏了内存分配和释放的具体细节。

    这是一个很大的话题,我后面会陆续的整理该学习笔记;

    主要,的我们可以从两个方面去避免这个问题的发生;

    一个就是从我们的代码层面上去区分;

    这个,我还是收集链接比较好吧;

    JavaScript的数据类型和内存的基本知识 http://www.jianshu.com/p/5f7b363686f6

    http://jinlong.github.io/2016/05/01/4-Types-of-Memory-Leaks-in-JavaScript-and-How-to-Get-Rid-Of-Them/

    http://www.open-open.com/lib/view/open1421734578984.html

    https://wenku.baidu.com/view/659230d95022aaea998f0f22.html

    //内存分析,网络优化,这些都是关于性能优化的各种方法第第呀;

    dom 对象和 js 对象之间的循环引用;

    function example() {
                var element = document.getElementByID("div1"); //
                element.onclick = function () {
                    alert("This is a leak!"); //
                }
                element = null; //添加的语句  
            }

    主要了解他的原理和一些常见的形式;后面我们还的学会使用工具还进行分析滴呀,效果是非常好滴呀;

    1.意外的全局变量

    2.被遗忘的计时器或回调函数

    3.脱离 DOM 的引用

    另外一个就是从工具的使用上去区分;

     妈卖批的,超你妈

  • 相关阅读:
    什么是Servlet?
    哪种情况下用哪种域对象
    相对于Statement,PreparedStatement的优点是什么?
    JDBC的PreparedStatement是什么?
    execute,executeQuery,executeUpdate的区别是什么?
    什么是JDBC,在上面时候会用到它?
    ArrayList、LinkedList、Vector 的区别。
    int 和 Integer 有什么区别
    Java 为每个原始类型提供了哪些包装类型
    什么是JDBC,在上面时候会用到它?
  • 原文地址:https://www.cnblogs.com/mc67/p/7010834.html
Copyright © 2011-2022 走看看