如何安装:
从主菜单中选择“工具”>“插件”。
在“可用插件”标签中,选中该插件的“安装”复选框。单击“安装”。
逐步完成插件安装程序。
我这里以 Eclipse(pid 22296)为例,双击后直接展开,主界面展示了系统和jvm两大块内容,点击右下方jvm参数和系统属性可以参考详细的参数信息.
因为VisualVM的插件太多,我这里主要介绍三个我主要使用几个:监控、线程、Visual GC
监控的主页其实也就是,cpu、内存、类、线程的图表
线程和jconsole功能没有太大的区别
Visual GC 是常常使用的一个功能,可以明显的看到年轻代、老年代的内存变化,以及gc频率、gc的时间等。
以上的功能其实jconsole几乎也有,VisualVM更全面更直观一些,另外VisualVM非常多的其它功能,可以分析dump的内存快照,dump出来的线程快照并且进行分析等,还有其它很多的插件大家可以去探索
案例分析
===========
准备模拟内存泄漏样例
==============
-
定义静态变量HashMap
-
分段循环创建对象,并加入HashMap
import java.util.HashMap;
import java.util.Map;public class CyclicDependencies { //声明缓存对象
private static final Map map = new HashMap();
public static void main(String args[]){ try { Thread.sleep(10000);//给打开visualvm时间
} catch (InterruptedException e) { e.printStackTrace(); } //循环添加对象到缓存 for