一、内存溢出
它是指程序在申请内存时,没有足够的内存空间供其使用,抛出OutOfMemery。
比如申请了一盒8MB内存,但是当前内存可用空间只有5MB,那么就是内存溢出;
即:OutOfMemeryError,是指没有空闲内存,垃圾收集器回收后也不能提供更多的内存空间。
(简单理解就是系统可提供的内存空间不满足自己的内存需求)。
二、内存泄露
它是指程序运行后,没有释放所占用的内存空间(程序中有引用没有释放,不能被GC回收),一次内存泄露可能不会有很大的影响,但长时间的内存泄露,堆积到一定程度就会产生内存溢出。
(简单理解就是需要使用的内存大小超出了系统提供的内存大小)。