zoukankan      html  css  js  c++  java
  • 来了解一下内存溢出和内存泄漏

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用;比如你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,就是溢出 。

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

    知乎某用户①

    内存泄露:用完扔了,没有归还。
    内存溢出:霸占不属于你的资源。

    知乎某用户②

    泄漏就是内存申请后,用完没有释放,造成可用内存越来越少。
    溢出指用户实际的数据长度超过了申请的内存空间大小,导致覆盖了其他正常数据,容易造成程序异常,严重的,攻击者可以以此获取程序控制权。

    知乎某用户③

    钱丢了vs钱不够了

    知乎某用户⑤

    内存溢出:你去买鞋,今天你赶时间,没时间试。平时你穿42码的,但是美女导购劝你说 ‘这个款式号码偏大’,于是你买了1个41码的。能不能穿?导购漂亮不漂亮?
    内存泄露:你去买鞋,今天发工资了,你高兴,但是昨天你踢球脚扭了还没消肿。同1个品牌同1个款式,平时你穿42码的,今天你试了试42码的,但是穿不进去。你买不买?
     
     
    知乎某用户⑥
    内存溢出,这个好理解,说明存储空间不够大。就像倒水倒多了,从杯子上面溢出了来了一样。
    内存泄漏,原理是,使用过的内存空间没有被及时释放,长时间占用内存,最终导致内存空间不足,而出现内存溢出。这个也很好理解,所谓的“泄漏”是相对释放对象来定义的,逃脱了释放对象的释放,漏处理了,也就是泄漏。形象一点理解,就是一个大的排放废水的池子,你用水瓢(相当于释放对象)瓢水,但是水瓢有个洞,漏了。
  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/wt645631686/p/8360893.html
Copyright © 2011-2022 走看看