浅谈内存泄漏&内存溢出

1.内存泄漏

java.lang.OutOfMemoryError
内存泄漏指的是无法释放已经申请的内存。
内存泄漏堆积会导致剩余内存不足(一次内存泄露后果可以忽略,但内存泄露堆积后果很严重,后续就无法申请到足够的内存空间,从而产生内存溢出。)

内存泄漏产生的原因:
1.循环过多或死循环,产生大量对象;
2.内存中加载的数据量过于庞大,如一次从数据库取出过多数据。
3.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收。

假如有500M内存,使用了200M,还剩300M内存,但是使用的200M内存并没有做任何有实际意义的事情,但是还不让它释放,当它无法释放的时候,我们在申请内存的时候,申请了三个对象,每个对象假如需要150M内存,那么内存肯定是不够使用的,所以就溢出了。

所以内存泄漏是内存溢出产生的原因之一。

2.内存溢出

内存溢出指的是无法申请到足够的内存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值