监控和管理服务是 Java 中不太常用的功能之一,不是因为它们不重要或可以取消它们,而是因为它们是在特殊情况下使用的。
它专门针对那些对其应用程序的性能至关重要并且需要一些实用程序来衡量和管理它的开发人员和系统管理员。Java 为这方面的综合处理提供了广泛的支持。但是,不可能提供 Java 平台的监控和管理功能的完整概述,本文试图快速而简短地描述这项技术的关键方面。
概述
Java平台提供的监控和管理功能大致可以分为:
Java 虚拟机检测
监控和管理 API
监控和管理工具
Java 管理扩展 (JMX) 技术
Java 虚拟机检测
它被称为 JVM 的开箱即用管理工具,它提供了一种内置机制来监视 JVM 和在其上运行的应用程序,无论是在本地还是从远程机器。应适当设置应用程序以在执行期间启用此功能。Java 平台利用 Java 管理技术 (JMX) 技术来实现此功能。要启用此功能,我们需要创建一个名为 MBean(Managed Bean)的 JMX 代理,然后将其注册到 MBean 服务器。MBean 只不过是代表要管理的资源的 Java 对象。
监控和管理 API
监控和管理 API 打包在 java.lang.management 下。它们提供了用于在运行时动态管理和监控 JVM 和底层操作系统的编程接口。API 提供了在远程和本地级别监视和管理 JVM 以及可以监视它们的应用程序的功能。API可以访问有关以下方面的动态信息:
加载的类
正在运行的线程,例如它们的状态、争用统计信息和堆栈跟踪
正在运行的应用程序消耗的内存状态
垃圾回收的统计信息
死锁检测
底层操作系统