内存泄漏和内存溢出有什么区别
生活随笔
收集整理的這篇文章主要介紹了
内存泄漏和内存溢出有什么区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
內存溢出(Out Of Memory) :就是申請內存時,JVM沒有足夠的內存空間。通俗說法就是去蹲坑發現坑位滿了。
內存泄露 (Memory Leak):就是申請了內存,但是沒有釋放,導致內存空間浪費。通俗說法就是有人占著茅坑不拉屎。
內存泄漏的情況:
1、靜態集合類引起內存泄漏
靜態集合的生命周期和 JVM 一致,所以靜態集合引用的對象不能被釋放。
2、變量不合理的作用域
一個變量的定義作用域大于其使用范圍,很可能存在內存泄漏;或不再使用對象沒有及時將對象設置為 null,很可能導致內存泄漏的發生
總結
以上是生活随笔為你收集整理的内存泄漏和内存溢出有什么区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAS机制中的ABA问题
- 下一篇: Redis哨兵(Sentinel)模式