目录
1.outofmemory的知识点:
代码:
package com.special.thread.jvmtools;
import com.sun.jna.ptr.ByReference;
import org.omg.PortableInterceptor.INACTIVE;
import java.awt.*;
import java.util.ArrayList;
/**
* @author liuYC
* @ClassName StackDemo
* @Description TODO
* @date 2021/7/27 8:44
* <p>
* <p>
* target:
* jvirtualvm 使用检查堆栈溢出的情况和情景!
*/
public class StackDemo {
private static final Integer k = 1024;
public static void main(String[] args) {
final ArrayList<Byte[]> bytes = new ArrayList<>();
int size = k * k;
for (int i = 0; i < k; i++) {
System.out.println("写入jvM数据:" + i + "M");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// bytes.add(new Byte[size]);
}
}
}
查看指标:
windows进入cmd:
输入:jvisualvm 就可以启动
查看指标如下红色部分:
一个是监视模块:
包括:堆空间最大以及使用了多少
守护线程数量这么多我还是有点不理解 ??????
这些统计指标:如何生成的原理:?????????
怎么分析dump文件:
jhat ***.dump文件
访问:
jmat分析
下载链接:
https://www.eclipse.org/mat/downloads.php
高效获取方法:
链接:https://pan.baidu.com/s/1iEpCVN3M2TzBkBwbVgmLCg
提取码:ea89
--来自百度网盘超级会员V5的分享
解压打开如下:
解决:
其他使用方法:可以读者自己去探索:
参考文章:
三太⼦敖丙的堆栈溢出.