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