Java监控电脑CPU、内存等信息
 {
osBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
}
public double getCPUUsage() {
return osBean.getSystemCpuLoad();
}
}
在上面的代码中,我们首先通过ManagementFactory.getOperatingSystemMXBean()
方法获取操作系统的MXBean对象,然后使用getSystemCpuLoad()
方法获取系统的CPU使用率。返回值是一个0到1之间的浮点数,表示CPU使用率的百分比。
监控内存使用情况
要监控电脑的内存使用情况,我们可以使用Java中的MemoryMXBean
和MemoryUsage
类。下面是一个示例代码:
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
public class MemoryMonitor {
private MemoryMXBean memoryBean;
public MemoryMonitor() {
memoryBean = ManagementFactory.getMemoryMXBean();
}
public long getUsedMemory() {
MemoryUsage memoryUsage = memoryBean.getHeapMemoryUsage();
return memoryUsage.getUsed();
}
public long getMaxMemory() {
MemoryUsage memoryUsage = memoryBean.getHeapMemoryUsage();
return memoryUsage.getMax();
}
}
在上面的代码中,我们首先通过ManagementFactory.getMemoryMXBean()
方法获取内存的MXBean对象,然后使用getHeapMemoryUsage()
方法获取堆内存的使用情况。通过getUsed()
方法可以获取已使用的内存量,通过getMax()
方法可以获取最大可用的内存量。
监控硬盘使用情况
要监控电脑的硬盘使用情况,我们可以使用Java中的File
类。下面是一个示例代码:
import java.io.File;
public class DiskMonitor {
private File root;
public DiskMonitor() {
root = new File("/");
}
public long getFreeSpace() {
return root.getFreeSpace();
}
public long getTotalSpace() {
return root.getTotalSpace();
}
}
在上面的代码中,我们创建一个File
对象来表示根目录,然后使用getFreeSpace()
方法获取可用空间的字节数,使用getTotalSpace()
方法获取总空间的字节数。
示例程序
下面是一个使用上述监控类的示例程序:
public class Main {
public static void main(String[] args) {
CPUMonitor cpuMonitor = new CPUMonitor();
MemoryMonitor memoryMonitor = new MemoryMonitor();
DiskMonitor diskMonitor = new DiskMonitor();
// 监控循环
while (true) {
double cpuUsage = cpuMonitor.getCPUUsage