什么是内存溢出,内存泄露?他们的区别是什么?——每天一个Java小常识

什么是内存溢出,内存泄露?他们的区别是什么?

内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;

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

总结:

内存溢出:就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。

内存泄漏:是指你向系统申请分配内存进行使用(new) ,可是使用完了以后却不归还(delete),结果你申请到的那块内存你自己也不能再访问(也许你把它的地址给弄丢了),而系统也不能再次将它分配给需要的程序。

原创文章 57 获赞 381 访问量 20万+

猜你喜欢

转载自blog.csdn.net/xiaozhezhe0470/article/details/105331746