内存泄漏和内存溢出的区别
内存泄漏和内存溢出的区别
参考答案
-
内存溢出(out of memory):指程序在申请内存时,没有足够的内存空间供其使用,出现 out of memory。
-
内存泄露(memory leak):指程序在申请内存后,无法释放已申请的内存空间,内存泄露堆积会导致内存被占光。
-
memory leak 最终会导致 out of memory。
1、概念的区分
1.1、 内存泄露 memory leak
程序运行结束后,没有释放 所占用的内存空间。
一次内存泄漏 似乎不会有大的影响,但内存泄漏 不断累积,最终可用内存会变得越来越少。

比如说,总内存大小是100 MB,有40MB的内存一直无法回收,那么可用的只有60MB 。这40MB的就是内存泄漏。
内存泄漏,就是 程序运行结束后,没有释放的内存。
1.2、 内存溢出 out of memory
程序运行时,在申请内
本文介绍了内存泄漏和内存溢出的概念及其区别,内存泄漏是程序运行结束后未能释放的内存,可能导致内存逐渐减少;内存溢出则是程序运行时所需内存超出可用内存,导致程序中断。解决内存溢出的方法包括调整JVM启动参数、检查错误日志、代码审查以及使用内存查看工具。重点排查点包括数据库查询优化、避免死循环、及时清理集合对象等。
订阅专栏 解锁全文
529

被折叠的 条评论
为什么被折叠?



