java.lang.OutOfMemoryError: Java heap space

港控/mmm° 2024-04-18 23:26 196阅读 0赞

先研究java为什么会报java.lang.OutOfMemoryError: Java heap space错误呢?是由谁抛出的呢?

Java.lang.OutOfMemoryError:java heap space :说明java虚拟机内存不够。

示例:

  1. public static void main(String[] args) {
  2. String str = "HelloWorld";
  3. while (true) {
  4. str += str + new Random().nextInt(88888888);
  5. }
  6. }

修改jvm的启动参数:-Xms8m -Xmx8m -XX:+PrintGCDetails jvm参数介绍

在这里插入图片描述

启动完,看下如下日志:
在这里插入图片描述
当创建对象时如果伊甸园空间不足会触发Minor GC,如果老年代的内存空间不足会触发Full GC,如果两个内存空间都不足,老年代就会抛出Java.lang.OutOfMemoryError:java heap space

java heap space异常原因:

  1. java虚拟机的堆内存设置不够,可以通过-Xms、-Xmx来调整
  2. 代码中创建了大量的对象,并且长时间不能被GC回收

解决办法:

  1. 增加jvm的堆内存
  2. 优化代码,避免对象无法回收

发表评论

表情:
评论列表 (有 0 条评论,196人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java heap space

    摘要: > 因为项目涉及到的数据较,对象较多,所以在执行时遇到了这个错误 > > 通过搜索,应该不能找到这种错误出现的原因,伴随这个错误的一般还有如下错误: > >