网站空间域名申请网站,网店推广的平台有哪些,菠菜网站建设,个人做哪方面的网站我已经将JConsole用作合适的通用JMX客户端已有很多年了。 该工具通常随Oracle JDK一起提供#xff0c;并且易于使用。 在JMX交互方面#xff0c;JConsole优于VisualVM的最大优点是JConsole带有内置的MBeans选项卡#xff0c;而必须为VisualVM中的相同功能应用插件。 但是并且易于使用。 在JMX交互方面JConsole优于VisualVM的最大优点是JConsole带有内置的MBeans选项卡而必须为VisualVM中的相同功能应用插件。 但是正如我在从JConsole到VisualVM的博客文章中所解释的那样该插件易于安装。 在本文中我将研究带有MBeans插件的VisualVM优于JConsole它具有内置的MBeans支持 DiagnosticCommandMBean 。 我正在使用Oracle JDKJava 8随附的JConsole和VisualVM版本。 接下来的三个屏幕快照演示了通过JConsole访问DiagnosticCommandMBean操作。 第一个图像显示有关DiagnosticCommandMBean详细信息例如其ObjectName com.sun.management:typeDiagnosticCommand 。 第二幅图像说明JConsole允许用户通过单击操作的“ vmSystemProperties”按钮来查看VM的系统属性。 第三个图像演示了无法从JConsole调用DiagnosticCommandMBean某些操作在本例中为“ help”。 如最后显示的图像所示某些MBean操作被禁用。 这样做的原因是如StackOverflow所述 “它们仅对采用简单类型的操作启用。” Andreas Veithen对此进行了详细说明 “ JConsole [only]允许调用仅具有简单类型参数的方法。 这包括原始类型原始类型的包装器类和字符串。 带有其他类型参数的方法无法调用因为JConsole不知道如何构造这些类型的实例。” 幸运的是VisualVM的MBeans插件确实支持针对DiagnosticCommandMBean的处理更复杂数据类型的操作。 通过VISUALVM-574 “在MBeans插件中添加对DiagnosticCommandMBean的支持”明确添加了此支持。 下一个屏幕快照描述了有关此插件的基本背景信息可在VisualVM中通过单击工具-插件-可用插件- VisualVM-MBeans获得。 下载并安装VisualVM-MBeans插件后VisualVM将对DiagnosticCommandMBean进行所有操作如以下三个屏幕快照所示。 第一张图片显示所有操作均未“灰显”。 第二张和第三张图片显示“系统属性”和“帮助操作”均受支持。 在上面调用“ help”的示例中我没有向其传递任何参数因此在没有任何其他参数的情况下调用“ help”并返回给定Java进程可用的jcmd命令选项列表时它的行为与jcmd完全相同。 下一个屏幕快照描述了这是如何工作类似于jcmd当我提供这些命令的名字之一“帮助”操作参数获取帮助的VM.uptime在这种情况下。 “ JDK 8中的工具增强功能”页面说明DiagnosticCommandMBean通过编程方式和远程方式使jcmd功能可用“ JDK 8提供了对以前只能通过jcmd工具在本地访问的诊断命令的远程访问。 使用Java管理扩展JMX提供了远程访问因此诊断命令将公开给注册到平台MBean服务器的平台MBean。 MBean是com.sun.management.DiagnosticCommandMBean接口。” 用于JConsole / MBeans支持的VisualVM插件使用图形VisualVM工具的行为类似于从命令行使用jcmd 。 这篇文章证明了DiagnosticCommandMBean提供对jcmd提供的相同数据的访问以进行远程和编程访问并且VisualVM提供了有用的图形界面可通过VisualVM-MBeans插件利用DiagnosticCommandMBean 。 翻译自: https://www.javacodegeeks.com/2016/03/looking-diagnosticcommandmbean-jconsole-visualvm.html