发布网友 发布时间:2022-04-22 15:38
共3个回答
热心网友 时间:2022-04-22 12:22
所谓的内存泄漏可以理解为内存单元逐渐被无用的数据占用,在c c++里可以通过内存单元没有释放引起,java里可以通过未对作废数据内存单元的引用置null引起分配了内存而没有释放,逐渐耗尽内存资源,导致系统崩溃。
内存泄露是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用的情况,重起计算机可以解决,但是也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件设计缺陷引起的。
内存泄漏可以分为4类:
1. 常发性内存泄漏。发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
2. 偶发性内存泄漏。发生内存泄漏的代码只有在某些特定环境或操作过程下才会发生。常发性和偶发性是相对的。对于特定的环境,偶发性的也许就变成了常发性的。所以测试环境和测试方法对检测内存泄漏至关重要。
3. 一次性内存泄漏。发生内存泄漏的代码只会被执行一次,或者由于算法上的缺陷,导致总会有一块仅且一块内存发生泄漏。比如,在类的构造函数中分配内存,在析构函数中却没有释放该内存,所以内存泄漏只会发生一次。
4. 隐式内存泄漏。程序在运行过程中不停的分配内存,但是直到结束的时候才释放内存。严格的说这里并没有发生内存泄漏,因为最终程序释放了所有申请的内存。但是对于一个服务器程序,需要运行几天,几周甚至几个月,不及时释放内存也可能导致最终耗尽系统的所有内存。所以,我们称这类内存泄漏为隐式内存泄漏。
热心网友 时间:2022-04-22 13:40
电脑内存泄漏这似乎是个新名词。我理解为:你电脑的内存被外部网络给使用了?其实这是不太可能的事情。如果是的话,那就是你电脑中病毒了,现在有那么多防病毒软件,一般情况下都能防御。而根据你描述是在打开浏览器看直播过程中,内存被逐步占用,这似乎说明直播过程被你动态内存(RAM)存储了,并且不能自动释放,从而导致电脑变卡或死机。这种存储过程,可能是由显卡占用内存造成的,不知道你用的是什么显卡?重新设置显卡或许会解决问题。热心网友 时间:2022-04-22 15:15
不停往上涨。。。。