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,另一方面在写代码时可以增加内存申请和释放的统计功能。看申请的和释放的是否一致来判断是否有内存泄漏的情况发生。

  • 相关阅读:
    Linux系统主流架构一
    CentOS7.2部署KVM虚拟机
    MySQL
    MQ消息队列
    LVM
    Docker管理工具-Swarm部署记录
    Linux下DNS简单部署(主从域名服务器)
    kvm虚拟机命令梳理
    批量创建10个系统帐号tianda01-tianda10并设置密码
    随笔分类
  • 原文地址:https://www.cnblogs.com/xingzhuan/p/10712692.html
Copyright © 2011-2022 走看看