byte[] b3 = new byte[2*_1MB];
System.out.println(“3…”);
System.in.read();
}
}
复制代码
指定DEMO03运行时JVM参数,设置堆区为20M,新生代10M,使用Serial垃圾收集器
可以看到在三次打印中,Eden区发生的变化,发生了一次YoungGC,GC时间是0.015S
![image](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yMjYyNjUzOS04YT
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
UwNmQxZTc3NTkwMjFk?x-oss-process=image/format,png)
jstack:查看Java线程堆栈信息
使用格式: jstack [option] vmid
示例一:一段死循环ava程序,模拟linux环境下疯狂占用cpu资源
improt java.util.Random;
public class demo {
public static void main(String[] args) {
while(true){
System.out.println(new Random().nextInt(77778888));
}
}
}
复制代码
查看系统状况:用top命令去查各个进程CPU、内存的资源消耗情况,找出最耗资源的进程pid,如图所示,最耗资源的是java进程,pid是2818【需要在后台运行很长时间才会有反应…】
定位到问题线程:定位到具体的问题线程 ps -mp pid -o THREAD,tid,time 如图所示在java进程中2819的线程最耗资源