今天在看jdk的demo时候发现java获取系统操作系统的一些信息,例如内存使用情况,于是自己也想研究研究!
百度一番,发现有2种方法!
1.sun自带的API
2.第三方jar(Sigar)
先说sun的api,下图只是简单的处理!核心是sun.management.ManagementFactory
第三方jar(Sigar)
通过Hyperic-hq产品的基础包sigar.jar来实现服务器状态数据的获取。
Sigar.jar包是通过本地方法来调用操作系统API来获取系统相关数据。
Windows操作系统下Sigar.jar依赖sigar-amd64-winnt.dll或sigar-x86-winnt.dll
linux 操作系统下则依赖libsigar-amd64-linux.so或libsigar-x86-linux.so
友情提示:为了你的程序能在windows(32bit和64bit)和linux(32bit和64bit)上均能运行。建议将这四个文件都复制到sigar.jar所在的路径(lib)!
核心类:org.hyperic.sigar.Sigar