java.lang.OutOfMemoryError: Java heap space
先研究java为什么会报java.lang.OutOfMemoryError: Java heap space错误呢?是由谁抛出的呢?Java.lang.OutOfMemoryError:java heap space :说明java虚拟机内存不够。示例:public static void main(String[] args) {String str = "H...
·
先研究java
为什么会报java.lang.OutOfMemoryError: Java heap space
错误呢?是由谁抛出的呢?
Java.lang.OutOfMemoryError:java heap space :说明java虚拟机内存不够。
示例:
public static void main(String[] args) {
String str = "HelloWorld";
while (true) {
str += str + new Random().nextInt(88888888);
}
}
修改jvm的启动参数:-Xms8m -Xmx8m -XX:+PrintGCDetails
jvm参数介绍
启动完,看下如下日志:
当创建对象时如果伊甸园空间不足会触发Minor GC
,如果老年代的内存空间不足会触发Full GC
,如果两个内存空间都不足,老年代就会抛出Java.lang.OutOfMemoryError:java heap space
java heap space异常原因:
- java虚拟机的堆内存设置不够,可以通过-Xms、-Xmx来调整
- 代码中创建了大量的对象,并且长时间不能被GC回收
解决办法:
- 增加jvm的堆内存
- 优化代码,避免对象无法回收
更多推荐
已为社区贡献3条内容
所有评论(0)