【Java问题大纲】Java heap space问题的出现以及解决

  • Post author:
  • Post category:java




引入


想必大家日常开发中或者修复中,能遇到很多业务上和程序上BUG和难题。其实想内存溢出等这些问题作为一个开发者应该很容易找到问题所在并解决,我记录这个问题是用来水文的🤪,原因是因为公司需要记录点东西,刚好遇到了就拿出来水了一下。😍😍😍


在这里插入图片描述



问题: java.lang.OutOfMemoryError: Java heap space
在这里插入图片描述



为什么出现这个问题:

  1. java虚拟机的堆内存设置不够,可以通过-Xms、-Xmx来调整
  2. 代码中创建了大量的对象,并且长时间不能被GC回收
  3. 程序有没有可能限入死循环
  4. 等…


以上列出的几个是最常遇到的,也有可能其他导致出现哦!



我是在什么情况下出现的:

我的业务场景是:

第一次全量数据同步到另一个系统

;单个系统所涉及到的数据量大概在100W左右,之前都是使用脚本同步的,这次因为换数据库了所以采用了程序的方式来同步数据到其他系统。所以在多线程查数据库数据时产生了这个问题,日常启动项目的大小设置的是

-Xms512M -Xmx512M

,因此问题就产生了!!!



怎么解决:

  1. 增加jvm的堆内存
  2. 优化代码,避免对象无法回收
  3. 仔细检查代码排除死循环可能


IDEA遇到了,可以设置IDEA的大小,设置Xms和Xmx就行啦!!


在这里插入图片描述

如果是在编码测试过程中遇到的,使用的是IDEA的话推荐大家安装

VisualGC(实时垃圾回收监控)

插件,

插件地址



版权声明:本文为qq_41681904原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。