JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监视、管理工具。它的主要功能是通过JMX的MBean(Managed Bean)对系统进 行信息收集和参数动态调整。
JConsole连接页面 :
通过JDK/bin目录下的jconsole.exe启动JCon-sole后,会自动搜索出本机运行的所有虚拟机进程
6.2.3、VisualVM:多合-故障处理工具VisualVM(All-in-One Java Troubleshooting Tool)是功能最强大的运行监视和故障处理程序之一, 曾经在很长一段时间内是Oracle官方主力发展的虚拟机故障处理工具。
它除了常规的运行监视、故障处理外,还可以做性能分析等工作。因为它的通用性很强,对应用程序影响较小,所以可以直接接入到生产环境中。
VisualVM的插件可以手工进行安装,在网站上下载nbm包后,点击“工具->插件->已下载”菜单,然后在弹出对话框中指定nbm包路径便可完成安装。
VisualVM插件页签:
6.2.4、Java Mission Control:可持续在线的监控工具JMC最初是BEA公司的产品,因此并没有像VisualVM那样一开始就基于自家的Net-Beans平台来开发,而是选择了由IBM捐赠的Eclipse RCP作为基础框架,现在的JMC不仅可以下载到独立程序,更常见的是作为Eclipse的插件来使用。JMC与虚拟机之间同样采取JMX协议进行通信,JMC一方面作为 JMX控制台,显示来自虚拟机MBean提供的数据;另一方面作为JFR的分析工具,展示来自JFR的数据。
JMC的主界面如图:
本文是作者结合一些常见面试题学习周志朋老师《深入理解Java虚拟机:JVM高级特性与最佳实践》的整理。这本书是非常经典的JVM书籍,也是一部七百多页的大部头,强烈建议有空仔细研读这本书籍,来学习更多JVM的特性和细节。
参考:
【1】:周志朋编著 《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版》
【2】:JavaGuide 搞定大厂jvm面试
【3】:小傅哥编著 《Java面经手册》
【4】:Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)