JVM再体验:JVM可视化监控工具

JVM再体验:JVM可视化监控工具

jdk -->bin里有


在cmd中输入:jconsole就启动了

JVM再体验:JVM可视化监控工具_第1张图片

这个程序实际的代码是在lib-->tools.jar里

jps:

JVM再体验:JVM可视化监控工具_第2张图片

选本地进程,点进去可以看到


JVM再体验:JVM可视化监控工具_第3张图片


测试:

import java.util.ArrayList;
import java.util.List;


import javax.swing.Box.Filler;


public class JconsoleTest {
	public byte[] b1 = new byte[128*1024];
	//测试内存的变化情况
	public static void main(String[] args) {
		try {
			Thread.sleep(5000);//为了能看到效果
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("start..");
		fill(1000);
	}


	public static void fill(int n) {
		List jlist = new ArrayList<>();
		for(int i = 0; i < n; i++){
			try {
				Thread.sleep(100);//为了能看到效果
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			jlist.add(new JconsoleTest());
		}
		
	}
}
JVM再体验:JVM可视化监控工具_第4张图片

JVM再体验:JVM可视化监控工具_第5张图片

JVM再体验:JVM可视化监控工具_第6张图片

但是:将代码改成这样

public JconsoleTest(){
	byte[] b1 = new byte[128*1024];//放在构造函数中,是局部变量
}
	

如果没有使用它,垃圾回收器是会光顾它的。现在再去看内存情况,发现图像有所变化

JVM再体验:JVM可视化监控工具_第7张图片


你可能感兴趣的:(JVM)