我正在创建一个类似于CPU-Z的应用程序,以获取设备的完整规格,例如缓存、显卡、温度、核心和线程数以及频率的详细信息。 问题是我找了很久,只找到一点东西,直到我感到沮丧。 Java 有支持这个的办公室吗?我想要一个代码来帮助。
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class Cpu {
public static void main(String[] args) {
OperatingSystemMXBean osBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
long cacheSize = osBean.getFreePhysicalMemorySize();
System.out.println( + osBean.getVendor());
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
for (GraphicsDevice gd : gs) {
System.out.println(gd.getIDstring());
System.out.println(gd.getDisplayMode().getWidth()
+ "x" + gd.getDisplayMode().getHeight());
}
System.out.println(gs[0].getConfigurations()[0].getDevice());
System.out.println(gs[0].getDefaultConfiguration().getDevice());
System.out.println("CACHE " + cacheSize / (1024 * 1024 * 1024) + " bytes");
System.out.println(osBean.getAvailableProcessors());
System.out.println((osBean.getTotalPhysicalMemorySize()) / (1024 * 1024 * 1024) + " bytes");
System.out.println(osBean.getProcessCpuLoad());
System.out.println(osBean.getProcessCpuTime());
System.out.println(osBean.getVersion());
System.out.println(osBean.getArch());
System.out.println(osBean.getName());
System.out.println(osBean.getSystemCpuLoad());
}
}
这是 Oshi 库的示例。
添加 OSHI 库
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.6.0</version>
</dependency>
节目
import oshi.SystemInfo;
import oshi.hardware.HardwareAbstractionLayer;
import oshi.software.os.OperatingSystem;
public class Application {
public static void main(String[] args) {
SystemInfo si = new SystemInfo();
HardwareAbstractionLayer hal = si.getHardware();
OperatingSystem os = si.getOperatingSystem();
System.out.println(hal.getGraphicsCards());
System.out.println(hal.getSensors());
System.out.println(hal.getComputerSystem());
System.out.println(hal.getProcessor());
System.out.println(hal.getMemory());
System.out.println(hal.getPowerSources());
System.out.println(hal.getDiskStores());
System.out.println(os.getFileSystem());
System.out.println(hal.getNetworkIFs());
System.out.println(os.getNetworkParams());
System.out.println(hal.getDisplays());
}
}