Java中内存溢出与内存泄露

内存溢出

内存溢出(out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给他存了long才能存下的数,就会发生内存溢出。

内存泄露

内存泄露(memory leak),是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,最终都会申请用光。

形象些的描述

一个果篮能装10个樱桃,但你得到这个果篮后却用来装10个大苹果,这就超出了果篮最大能容纳的范围,于是产生了“溢出”;

现在果篮的数量是有限的,你得到一个果篮去摘水果,过程中把果篮搞丢了,于是造成了一次内存泄露,但你还要摘水果,于是又申请一个果篮,但你又丢了,如此反复,果篮都被你弄丢了,没办法回收果篮重复供你使用,也就没有果篮可以再供给你使用,由于多次的内存泄露最终造成了内存溢出;

原文地址:https://www.cnblogs.com/zhengbin/p/6408962.html