zoukankan      html  css  js  c++  java
  • 什么是内存泄漏?该如何检测?又该如何解决?

    1、什么是内存泄漏

    一部分内存空间我明明已经使用了,却没有引用指向这部分空间。造成这片已经使用的空间无法处理的情况

    内存泄漏是个很严重的问题,也比较常见。

    最主要的原因是动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束

    2、内存泄漏的危害

    • 长时间运行,程序变卡,性能严重下降
    • 程序莫名其妙挂掉
    • 乱七八糟的错误,还不易排查

    反正内存泄漏不是好事。

    3、内存泄漏的原因

    (1)、大量使用静态变量

    由于静态变量与程序生命周期一致,因此静态变量会常驻内存,造成内存泄漏

    (2)、连接资源未关闭

    每当建立一个连接,系统会对资源分配内存。比如数据库连接、文件输入输出流、网络连接等等。

    (3)申请了一块内存空间后,未初始化便读其中的内容

    (4)间接申请动态内存但并没有进行释放

    (5)释放完一块动态申请的内存后继续引用该内存内容

  • 相关阅读:
    使用Python操作MySQL数据库
    SQL server数据库语句
    SQL server数据库
    实施工程师
    Vue外卖项目
    每日思考记录(12)
    Vue核心知识点
    jQuery快速入门
    js
    css2
  • 原文地址:https://www.cnblogs.com/zongfanstudy/p/15035701.html
Copyright © 2011-2022 走看看