我需要有关访问设备规格的 Java 帮助

问题描述 投票:0回答:1

我正在创建一个类似于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());

    }

}
java jmx
1个回答
0
投票

这是 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());
    }
}

请参考此链接:如何获取oshi.hardware.Sensors信息。可以吗?

© www.soinside.com 2019 - 2024. All rights reserved.