本文 提供了一个 Java 工具类,用来获取诸如以下的 JVM 数据:
- 类加载信息
- 编译信息
- 操作系统信息
- 系统名称、架构、版本、负载 …
- 物理内存信息
- CPU 信息
- 等
- 运行时信息
- 进程ID
- JVM 版本信息
- 启动参数
- 系统属性
- 启动时间、运行时常
- 等
- 线程信息
- 线程状态
- 死锁检查
- 等
- JVM 内存信息
- 内存使用情况
- 各个区域内存使用情况
- 垃圾收集器信息
- 等
PlatformManagedObject 的 继承结构
1 | PlatformManagedObject (java.lang.management) |
工具类
通过 PlatformManagedObject
的继承结构可以看出, JDK 提供了非常强大的扩展管理和监控功能。
以下主要对进 JDK 提供的主要接口进行再次封装,并不完整,如需更精细的获取 JVM 数据,可参考 PlatformManagedObject
的体系结构,寻找合适的API。
1 | package xyz.kail.blog; |