焚往葬忆 2020-08-06 16:11 采纳率: 0%
浏览 87
已结题

内存溢出了

内存溢出分析是这里的原因,那个大神给解释一下什么情况下这里会导致内存溢出。我查看操作日志不存在特别大数据量的查询操作。

  • 写回答

63条回答 默认 最新

  • sinJack 2020-08-06 16:20
    关注

    内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。

    引起内存溢出的原因有很多种,常见的有以下几种:

    1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;

    2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;

    3.代码中存在死循环或循环产生过多重复的对象实体;

    4.使用的第三方软件中的BUG;

    5.启动参数内存值设定的过小;

    内存溢出的解决方案:

    第一步,修改JVM启动参数,直接增加内存。(-Xms,-Xmx参数一定不要忘记加。)

    第二步,检查错误日志,查看“OutOfMemory”错误前是否有其它异常或错误。

    第三步,对代码进行走查和分析,找出可能发生内存溢出的位置。

    评论

报告相同问题?