29
2020
03

内存泄漏和内存溢出分别是什么?它们有什么关系?

内存泄露是指保存了不可能再被访问的变量引用,导致垃圾回收器无法回收内存。 

也就是说: 

在Java中有些对象的生命周期是有限的,当它们完成了特定的逻辑后将会被垃圾回收;但是,如果在对象的生命周期本来该被垃圾回收时这个对象还被别的对象所持有引用,那就会导致内存泄漏


内存溢出是指虚拟机内存耗尽,无法为新对象分配内存,导致引用崩溃。典型的情况为加载多张大图,导致内存耗尽。


当某个界面存在内存泄露,反复进入该界面,将导致一直有新对象创建但是无法回收,最终内存耗尽,产生内存溢出。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。