<分区>
我想使用 Java 从 Windows 获取有关 CPU、RAM、HDD、网络和进程(服务)列表的数据。如何在不使用第三方库或 JNI 的情况下获取这些系统值?
在 Windows 中是否有类似于/proc 的东西,我可以在其中获取所有必要的值并使用它们?
<分区>
我想使用 Java 从 Windows 获取有关 CPU、RAM、HDD、网络和进程(服务)列表的数据。如何在不使用第三方库或 JNI 的情况下获取这些系统值?
在 Windows 中是否有类似于/proc 的东西,我可以在其中获取所有必要的值并使用它们?
最佳答案
您可以通过 JNI 使用 native API。
您还可以使用 SIGAR这是 Apache 许可的库,它比您要求的要多得多。它已将 native 调用包装在 Java API 中,因此您不必了解 JNI 的内部工作原理。
您还可以从代码内部生成进程以运行特定于操作系统的命令,以便您可以收集系统统计信息,例如systeminfo |在 Windows 或 Linux cat/proc/meminfo 上查找“可用物理内存”或 wmic 命令。这可以通过 java.lang.ProcessBuilder 实现。
关于java - 如何获取 Windows 负载值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23222251/
相关文章:
java - 是否可以使用 Android NDK 在 Android 应用程序中集成 IPOPT 等 C++ 求解器?
c++ - 如何通过ifstream打开文件时共享文件删除权限
windows - 为什么 Play 在 Windows 上为类报告 java.lang.NoClassDefFoundError(而在 Linux 上运行良好)?
sockets - Netty并发和 "Connection reset by peer"
java - Android:Selector.select() 立即返回 0
java - 构建期间发生错误。在项目上运行生成器 'CDI (Contexts and Dependency Injection) Builder' 时出错