在 Windows 机器上运行的 Java 库需要记录有关操作系统的信息,例如 CPU 负载、JVM 占用的内存等。我很确定 Java 本身无法获得这些信息,因为它是特定于操作系统的。
此库的日志中需要此信息,以便向客户端指出某些操作因库无法获得足够的资源而失败。
无法选择 JVM,即我们不能要求我们的客户应该使用实现 Windows 操作系统特定功能的特定 JVM。
是否有可以通过 JNI 使用的 Windows 库 (DLL) 或 API?
我们也可以自己在 C++ 或 C# 中实现一个 DLL,我需要在哪里查看如何最有效地完成此操作?
编辑:我需要访问有关 JVM 本身进程的数据,我猜我只能通过本机 Windows API 获得这些数据。所以我想我必须实现一个小的 C 程序并通过 JNI 将它链接为本地 DLL。有什么建议吗?