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

    内存溢出 out of memory

      指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。

    内存泄露 memory leak

      是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。
      内存泄漏的分类:

        1.对内存泄漏(malloc  new之类的)

        2.系统资源泄漏(使用的系统资源Bitap SOCKET之类的没有使用相应的函数释放掉)

        3.没有将基类的析构函数定义为虚函数。

    内存泄漏如何判断?

      为了判断内存的泄漏,一方面可以使用Linux环境下的内存泄漏检查工具valgrind,另一方面在写代码时可以增加内存申请和释放的统计功能。看申请的和释放的是否一致来判断是否有内存泄漏的情况发生。

  • 相关阅读:
    机器学习——模型评估与选择
    论文等级
    python简介
    记忆力
    PyQt 5控件
    PyQt5对话框
    PyQt 5事件和信号
    PyQt 5菜单和工具栏
    PyQt 5布局管理
    PyQt 5的基本功能
  • 原文地址:https://www.cnblogs.com/xingzhuan/p/10712692.html
Copyright © 2011-2022 走看看