我是菜鸟,请问老鸟:
在java中,如何获取windows系统的各种运行信息呢?【注意:非JAVA虚拟机的运行时信息】
比如CPU主频和占用率、内存大小以及内存占用率、虚拟内存大小以及虚拟内存占用率、硬盘大小分区状况以及占用率、进程数等等运行时信息
需要用到哪些类呢?需要第三方JAR包吗?哪里可以下载到这类JAR包。
在java中,如何获取windows系统的各种运行信息呢?【注意:非JAVA虚拟机的运行时信息】
比如CPU主频和占用率、内存大小以及内存占用率、虚拟内存大小以及虚拟内存占用率、硬盘大小分区状况以及占用率、进程数等等运行时信息
需要用到哪些类呢?需要第三方JAR包吗?哪里可以下载到这类JAR包。
您想获得人家windows系统进程,您"越界"了.
java不是用来做这个的.
倒是可以用Runtime类来调用windows的其它应用程序!
的确是越界了,用C++或者VB都可以轻松调用WindowsAPI来实现
不过我现在在实验IBM的Aglet平台,就是做移动Agent的一个基于java的平台,
我想通过向远程主机发送移动Agent来获取windows系统的运行时信息,整个系统平台是基于JAVA的,所有代码都是在本地主机编写,然后由Aglet平台发送到远程主机执行,所以必须使用纯的JAVA语言实现,真没办法引入其他语言来实现。
使用JNI可以在本地执行,但是在Aglet平台中,向远程主机发送agent的时候会报错
Aglet中很多都受限制,比如果你编写的Agent中引入了Timer类,就无法完成Agent的迁移,同样也是发送过程中报错
原因尚不很清楚,我对IBM Aglet平台的了解还很浅。
public class GetProperties
{
public static void main(String args[])
{
Properties prop=new Properties(System.getProperties());
prop.list(System.out);
}
}
然后java调用
因为现在的要求是收集信息的代码是在远程主机上执行的(有点类似于applet),代码是通过IBM Aglet平台进行发送的,只能发送纯JAVA的代码。
据说,Windows提供了一个接口WMI来提供系统运行的性能与状态信息,不知JAVA是否可以直接访问?