bilibili-JVM學習筆記20 jvisualvm
The Java Virtual Machine Specification - Java SE 8 Edition
JVM學習筆記18 字節碼知識總結
JVM學習筆記19 JVM內存空間
基於 java 1.8.0
實戰 jvisualvm
package new_package.jvm.p62;
import java.util.ArrayList;
import java.util.List;
/**
* -Xms5m -Xmx5m -XX:+HeapDumpOnOutOfMemoryError
*/
public class MyTest {
public static void main(String[] args) {
List<byte[]> list = new ArrayList<>();
for (; ; ) {
list.add(new byte[1024]);
}
}
}
VM options : -Xms5m -Xmx5m -XX:+HeapDumpOnOutOfMemoryError
運行完成後會在工程目錄下生成一個 *.hprof
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid18644.hprof ...
Exception in thread "main" Heap dump file created [6006484 bytes in 0.014 secs]
java.lang.OutOfMemoryError: Java heap space
at new_package.jvm.p62.MyTest.main(MyTest.java:14)
Process finished with exit code 1
打開 jvisualvm 工具
jvisualvm
文件 -> 裝入 -> 選擇文件格式爲:堆 Dump(*.hprof)