在java中,如何获取windows系统的各种运行信息呢?

CN_YUTIAN 2008-05-14 05:03:54
我是菜鸟,请问老鸟:
在java中,如何获取windows系统的各种运行信息呢?【注意:非JAVA虚拟机的运行时信息】
比如CPU主频和占用率、内存大小以及内存占用率、虚拟内存大小以及虚拟内存占用率、硬盘大小分区状况以及占用率、进程数等等运行时信息
需要用到哪些类呢?需要第三方JAR包吗?哪里可以下载到这类JAR包。
...全文
651 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Iknowurcode 2008-06-04
  • 打赏
  • 举报
回复
错了,不可以直接访问
Iknowurcode 2008-06-04
  • 打赏
  • 举报
回复
把dll和jar搞到一起,java不可以访问WMI,vj++可以
CN_YUTIAN 2008-05-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Iknowurcode 的回复:]
c++编写关于windows系统信息的 dll
然后java调用
[/Quote]
除非调用系统的dll,否则自己编写的dll如何发送到远程主机呢?
因为现在的要求是收集信息的代码是在远程主机上执行的(有点类似于applet),代码是通过IBM Aglet平台进行发送的,只能发送纯JAVA的代码。
据说,Windows提供了一个接口WMI来提供系统运行的性能与状态信息,不知JAVA是否可以直接访问?
zhangfujia 2008-05-18
  • 打赏
  • 举报
回复
Iknowurcode 2008-05-18
  • 打赏
  • 举报
回复
c++编写关于windows系统信息的 dll
然后java调用
apples_009 2008-05-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ilrxx 的回复:]
建议看下这篇文章,写的很清楚了http://www.javajsp.net/java/JavaFAQ/J2EEAPP/200607/852.html
[/Quote]
import java.util.Properties;
public class GetProperties
{
public static void main(String args[])
{
Properties prop=new Properties(System.getProperties());
prop.list(System.out);
}
}
CN_YUTIAN 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yinghan2005 的回复:]
java不太适合做这个,不过用jni也可以做
[/Quote]
谢谢您的回复
使用JNI可以在本地执行,但是在Aglet平台中,向远程主机发送agent的时候会报错
Aglet中很多都受限制,比如果你编写的Agent中引入了Timer类,就无法完成Agent的迁移,同样也是发送过程中报错
原因尚不很清楚,我对IBM Aglet平台的了解还很浅。
CN_YUTIAN 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 javazhuobin 的回复:]
java 的"运行系统"是jvm,不是人家windows
您想获得人家windows系统进程,您"越界"了.
java不是用来做这个的.
倒是可以用Runtime类来调用windows的其它应用程序!
[/Quote]
谢谢您的回复
的确是越界了,用C++或者VB都可以轻松调用WindowsAPI来实现
不过我现在在实验IBM的Aglet平台,就是做移动Agent的一个基于java的平台,
我想通过向远程主机发送移动Agent来获取windows系统的运行时信息,整个系统平台是基于JAVA的,所有代码都是在本地主机编写,然后由Aglet平台发送到远程主机执行,所以必须使用纯的JAVA语言实现,真没办法引入其他语言来实现。
CN_YUTIAN 2008-05-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ilrxx 的回复:]
建议看下这篇文章,写的很清楚了http://www.javajsp.net/java/JavaFAQ/J2EEAPP/200607/852.html
[/Quote]
System类的getProperty方法我倒是也用过,可以获取些信息,但获取的信息很有限,也就是一些名称、版本、路径之类的信息,而且大部分也是JVM的信息
humcomm 2008-05-14
  • 打赏
  • 举报
回复
java不太适合做这个,不过用jni也可以做
ilrxx 2008-05-14
  • 打赏
  • 举报
回复
建议看下这篇文章,写的很清楚了http://www.javajsp.net/java/JavaFAQ/J2EEAPP/200607/852.html
刘彬彬 2008-05-14
  • 打赏
  • 举报
回复
java 的"运行系统"是jvm,不是人家windows
您想获得人家windows系统进程,您"越界"了.
java不是用来做这个的.
倒是可以用Runtime类来调用windows的其它应用程序!

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧