Netbeansで以下のコードを実行するたびに、実行とプロセスのCPU時間が変動するのはなぜですか。私のCPU使用率も毎回異なりますか。また、以下のコードの CPU 使用率を確認するにはどうすればよいですか。
class test{
static com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
public static void main(String[] args) throws InterruptedException {
long start1 = System.currentTimeMillis();
long pstart1 = mxbean.getProcessCpuTime();
long pstart2 = TimeUnit.MILLISECONDS.convert(pstart1, TimeUnit.NANOSECONDS);
for (int i = 0; i < 10000; i++) {
System.out.println("hello");
}
long end1 = System.currentTimeMillis();
long pend1 = mxbean.getProcessCpuTime();
long pend2 = TimeUnit.MILLISECONDS.convert(pend1, TimeUnit.NANOSECONDS);
float pdif = pend2 - pstart2;
float edif = end1 - start1;
System.out.println(edif);
System.out.println(pdif);
}
}