HOTSPOT的三种执行模式的区别:
java -Xcomp -version
java -Xint -version
java -version
查看堆栈出问题的信息:
vm配置信息:
-Xmx70m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./
运行的测试代码:
简单逻辑就是一直创建对象,而且一直在引用,垃圾回收算法一直没办法回收,导致的结果就是堆内存溢出:
代码:
package com.special.threademo.jvm;
import java.util.ArrayList;
/**
* @author liuYC
* @ClassName HeapDemo
* @Description TODO
* @date 2021/4/26 18:50
*
* oom heap demo
*
*/
public class HeapDemo {
static class OomObject {
}
public static void main(String[] args) {
ArrayList<OomObject> oomObjects = new ArrayList<>();
while (true) {
oomObjects.add(new OomObject());
}
}
}
参考文章: