jdk.internal.jvmstat 模块是 jdk.attach,
jdk.jcmd,
jdk.jconsole,
jdk.jstatd;
等模块的基础;
jdk.cmd模块的jps命令就是直接基于 jdk.internal.jvmstat的api构建。
这个模块:Defines an internal API for monitoring a HotSpot Java Virtual Machine using its shared memory instrumentation buffer
其核心接口 sun.jvmstat.monitor.MonitoredHost 和 sun.jvmstat.monitor.MonitoredVm 提供对一个操作被监控的 Virtual Machine 的操作。
通过 MonitoredHost的 getMonitoredVm 方法可以创建MonitoredVm 。其有三个具体的实现 FileMonitoredVm,LocalMonitoredVm和RemoteMonitoredVm;
以JPS命令为例,jps命令根据MonitorHost的静态方法创建一个MonitorHost对象,根据的hostid的标识的模式来判断创建哪一个MonitorHost。
通过返回的特定的 MonitorHost 对象,根据java进程号,创建MonitoredVm对象,用于进一步操作具体的某个java进程(可能是本地的或者远程的);
VirtualMachineImpl 提供了直接连 hotspot jvm的 实际操作,其连接操作都是 native 的代码:
最后
以上就是外向蜜蜂最近收集整理的关于jdk.internal.jvmstat 简介的全部内容,更多相关jdk.internal.jvmstat内容请搜索靠谱客的其他文章。
发表评论 取消回复