java怎样获取cpu主频和使用率? java怎样获取cpu主频和使用率?需要用jni,但小弟对c语言底子薄,希望你能给一个做好的例子,参考一下! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取使用率到没听说过,获取主频可以调用Dos命令实现/** * 执行一个有标准输出的DOS可执行程序 * * @param command * 具有输出的cmd命名 */ public static String execDOStoOutPut(String command) { String result = ""; InputStream is = null; InputStreamReader ir = null; BufferedReader bufferedReader = null; try { Process process = Runtime.getRuntime().exec("cmd /c " + command); // 创建一个使用默认大小输入缓冲区的缓冲字符输入流 is = process.getInputStream(); ir = new InputStreamReader(is); bufferedReader = new BufferedReader(ir); String temp; while ((temp = bufferedReader.readLine()) != null) { result += temp; System.out.println(temp); } process.waitFor(); } catch (InterruptedException ex) { System.out.println(ex.getMessage()); } catch (IOException ex) { System.out.println(ex.getMessage()); } finally { try { bufferedReader.close(); ir.close(); is.close(); } catch (IOException e) { e.printStackTrace(); } } return result;这是使用方法 public static void main(String[] args) { ExecDOS dos = new ExecDOS(); dos.execDOStoOutPut("systeminfo"); }systeinfo是dos命令,返回系统的一些信息,包括cpu的信息 非常感谢lowson0,但是如果我只想得到cpu主频的值的话,应该用什么命令可以得到? 可以通过JNI调用动态库获得。 这里有写好的,为何你不去找找呢?给你一个写好的,java通过jni查看cpu利用率:http://huangpengxiao.javaeye.com/blog/96670 3楼正解。可以通过jni掉其他接口获得。 JAVA通过JNI获得CPU的使用率(Usage Rate)我整理的,能用 java2000_net:这个例子我测试了一下,有debug。 谢谢各位!cpu和内存的使用率已经可以得到,主频还是没有办法得到! 主频可以通过查注册表HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0\~MHz找到。 一般都是有这个键值的,如果没有的话,没办发了,只能在JNI程序中嵌入汇编程序了。 问题已经解决,是用jni搞定的。 java如何按顺序排序后写一个文件 static的问题! 大家看看这个类哪儿错了? 送女朋友什么生日礼物最好? Spring 入门 如何实现byte与int类型的相互转换 java如何调用Lib文件 怎样在java中把jpeg转成png形式? 进入有分! 如何对邮件进行统计 怎样实现java窗口的折叠和展开 java面向对象编程习题(给main方法传参)
* 执行一个有标准输出的DOS可执行程序
*
* @param command
* 具有输出的cmd命名
*/
public static String execDOStoOutPut(String command) {
String result = "";
InputStream is = null;
InputStreamReader ir = null;
BufferedReader bufferedReader = null;
try {
Process process = Runtime.getRuntime().exec("cmd /c " + command);
// 创建一个使用默认大小输入缓冲区的缓冲字符输入流
is = process.getInputStream();
ir = new InputStreamReader(is);
bufferedReader = new BufferedReader(ir);
String temp;
while ((temp = bufferedReader.readLine()) != null) {
result += temp;
System.out.println(temp);
}
process.waitFor();
} catch (InterruptedException ex) {
System.out.println(ex.getMessage());
} catch (IOException ex) {
System.out.println(ex.getMessage());
} finally {
try {
bufferedReader.close();
ir.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
这是使用方法 public static void main(String[] args) {
ExecDOS dos = new ExecDOS();
dos.execDOStoOutPut("systeminfo");
}
systeinfo是dos命令,返回系统的一些信息,包括cpu的信息