java获取你的电脑硬件信息

这篇博客介绍了如何通过更新Maven依赖库Oshi到5.8.1版本来解决在AMD Ryzen 7 4800H处理器和Windows 11系统中遇到的参数缺失问题。示例代码展示了如何获取并打印中央处理器的详细信息,包括物理CPU包数、核心数、逻辑CPU数量以及处理器标识和微架构。
摘要由CSDN通过智能技术生成

Maven包

包使用较新的版本,旧版本在amd或者win11会有参数不齐的bug

<dependency>
            <groupId>com.github.oshi</groupId>
            <artifactId>oshi-core</artifactId>
            <version>5.8.1</version>
</dependency>

具体代码

import oshi.SystemInfo;
import oshi.hardware.CentralProcessor;
import oshi.hardware.HardwareAbstractionLayer;

public class HardWareInfo {
    public static void main(String[] args) {
        SystemInfo systemInfo = new SystemInfo();
        HardwareAbstractionLayer hardware = systemInfo.getHardware();
        CentralProcessor processor = hardware.getProcessor();
        System.out.println(processor.toString());
    }
}

效果

AMD Ryzen 7 4800H with Radeon Graphics
1 physical CPU package(s)
8 physical CPU core(s)
16 logical CPU(s)
Identifier: AuthenticAMD Family 23 Model 96 Stepping 1
ProcessorID: ****************************
Microarchitecture: unknown

您可以使用Java的一些库来获取电脑的硬件信息,然后根据这些信息生成license。下面是一个简单的示例代码,展示了如何使用Java获取电脑硬件信息: ```java import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.UnknownHostException; public class HardwareInfo { public static void main(String[] args) { try { // 获取计算机名 String computerName = InetAddress.getLocalHost().getHostName(); System.out.println("计算机名:" + computerName); // 获取MAC地址 NetworkInterface network = NetworkInterface.getByInetAddress(InetAddress.getLocalHost()); byte[] mac = network.getHardwareAddress(); StringBuilder macAddress = new StringBuilder(); if (mac != null) { for (int i = 0; i < mac.length; i++) { macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); } } System.out.println("MAC地址:" + macAddress.toString()); } catch (UnknownHostException | SocketException e) { e.printStackTrace(); } } } ``` 这段代码使用了`InetAddress`类获取计算机名,使用`NetworkInterface`类获取MAC地址。您可以根据需要扩展代码,获取其他硬件信息,如CPU序列号、主板序列号等。 请注意,这种方式只能提供一些基本的硬件信息,并不能保证唯一性。如果您需要更精确的硬件信息来生成license,可以考虑使用其他方式,如使用第三方库获取更多的硬件信息,或者结合其他硬件标识符生成唯一的license。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值