Как использовать getSystemCpuLoad () в JMX
Привет я не могу использовать getProcessCpuTime () или getProcessCpuLoad () или getSystemCpuLoad () в моей программе java. Я использовал как ниже.
ManagementFactory. getOperatingSystemMXBean().getProcessCpuTime();
Также Вот так
( (OperatingSystemMXBean) getOperatingSystemMXBean() ).getProcessCpuTime()
Но его ошибка, показывающая метод getProcessCpuTime (), не найдена. Я включил следующие заголовочные файлы. Этого достаточно, или мне нужно использовать еще.?
import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
Может ли кто-нибудь предложить мне, как использовать эти методы? я использую jdk1.6. И мой код ниже
import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class printUsage {
public static void main(String[] args) {
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuTime());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getSystemCpuLoad());
System.out.println("getCpuProcessTime()" + " = " + operatingSystemMXBean.getProcessCpuLoad());
}
}
2 ответа:
Импорт следующего
import com.sun.management.OperatingSystemMXBean;
Не
import java.lang.management.OperatingSystemMXBean;
Используйте следующий код.
OperatingSystemMXBean operatingSystemMXBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
Я получаю достоверные результаты с помощью этого кода.
Взгляните на следующий javadoc: http://docs.oracle.com/javase/6/docs/api/
Смотрите, какие методы определены для OperatingSystemMXBean. Ваша проблема заключается в том, что вы ищете методы, определенные в
com.sun.management.OperatingSystemMXBean
вjava.lang.management.OperatingSystemMXBean
.Пакет
com.sun
предназначен в основном для внутреннего использования создателями java, а не для разработчиков приложений. Вы должны использовать классы из пакетаjava.lang.management
и обратиться к соответствующему API doc.