为什么getSystemCpuLoad()返回负值

我在监控系统CPU使用率的时候,getSystemCpuLoad()返回负值
问题相关代码

import java.lang.management.ManagementFactory;
public class Demo {
public static void main(String[] args) {
OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();

    System.out.println(bean.getProcessCpuLoad());
    System.out.println(bean.getSystemCpuLoad());
}

}

这个简单,只需要去java API网站上搜搜这个方法就行了。API网站里肯定会有这个方法的说明,这里对它的说明是这样的:

img


看,API介绍中说了,如果系统最近的 CPU 使用率不可用,则该方法返回负值。这说明你电脑最近CPU使用率不可用
OK,以上就是为啥返回负值的说明,不过你居然不知道去JAVA API网站上搜,我猜你应该是不知道这个Java API网站,我这里给你它的网址,以后你出现了类似状况,可以去这上面搜搜:
Java 6版本的API:https://docs.oracle.com/javase/6/docs/api/overview-summary.html#JavaFX
Java 7版本的API:https://docs.oracle.com/javase/7/docs/api/overview-summary.html#JavaFX
Java 8版本的API:https://docs.oracle.com/javase/8/docs/api/overview-summary.html#JavaFX
Java 9版本的API:https://docs.oracle.com/javase/9/docs/api/overview-summary.html#JavaFX
Java 10版本的API:https://docs.oracle.com/javase/10/docs/api/overview-summary.html#JavaFX
Java 14的文档说明:https://docs.oracle.com/en/java/javase/14/#JavaFX
Java 15的文档说明:https://docs.oracle.com/en/java/javase/15/#JavaFX
Java 16的文档说明:https://docs.oracle.com/en/java/javase/16/#JavaFX
Java 17的文档说明:https://docs.oracle.com/en/java/javase/17/#JavaFX
这些网站能对你在编程的时候提供帮助,因为没有人能够精通一门编程语言,也没有人能熟知一款语言中的所有类,所有的方法,接口等等。这个时候,这些网站就能给你提供帮助