内存溢出

本文解释了内存溢出的概念,分析了其在系统开发和单元测试阶段不易被发现的原因,并列举了几种常见的引起内存溢出的情况。

1.定义:通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放一部分内存又可以正常运行该软件或游戏一段时间。

2.内存溢出与数据库锁表在系统开发和单元测试阶段并不容易被发现,当系统正式上线一段时间后,操作的并发量上来了,数据也积累了一些,系统就容易出现内存溢出或是锁表的现象,而此时系统又不能随时停机或重启,为修正BUG带来了很大的困难。

3.引起内存溢出(OutofMemory)的原因有很多种,如下:

  • 内存中加载的数据量过于庞大,如一次从数据库取出过多数据
  • 集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;
  • 代码中存在死循环或者循环产生过多重复的对象实体
  • 使用的第三方软件中的BUG;
  • JVM启动参数内存值设定的过小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值