Java内存泄漏与内存溢出


1. 定义

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出.(内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出.)

内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光.(内存泄漏 即 该被释放的内存没有被及时的释放,一直被某个或某些实例所持有却不再使用导致GC不能回收.)

2. 参考链接

内存溢出和内存泄漏的区别、产生原因以及解决方案

谢谢你请我吃糖果!