package com.dy.common.util; import lombok.Data; import oshi.SystemInfo; import oshi.hardware.HardwareAbstractionLayer; import java.util.LinkedList; /** * @Author: liurunyu * @Date: 2024/8/2 15:37 * @Description */ public class SysUtil { public static InfoVo info() throws Exception { InfoVo vo = new InfoVo() ; SystemInfo si = new SystemInfo(); HardwareAbstractionLayer hal = si.getHardware(); vo.cpuInfoVo = SysCpuUtil.info(hal.getProcessor()); vo.memInfoVo = SysMemoryUtil.info(hal.getMemory()); vo.sysInfoVo = SysSysUtil.info(); vo.jvmInfoVo = SysJvmUtil.info(); vo.sysFiles = SysFileSysUtil.info(si.getOperatingSystem()); return vo ; } @Data public static class InfoVo { public SysCpuUtil.CpuInfoVo cpuInfoVo ; public SysJvmUtil.JvmInfoVo jvmInfoVo ; public SysMemoryUtil.MemInfoVo memInfoVo ; public LinkedList sysFiles ; public SysSysUtil.SysInfoVo sysInfoVo ; public String toString(){ StringBuilder sb = new StringBuilder() ; sb.append("系统信息:\n"); sb.append(" " + (cpuInfoVo != null?cpuInfoVo.toString():"") + "\n"); sb.append(" " + (jvmInfoVo != null?jvmInfoVo.toString():"") + "\n"); sb.append(" " + (memInfoVo != null?memInfoVo.toString():"") + "\n"); if(sysFiles != null && sysFiles.size() > 0){ for(SysFileSysUtil.SysFile f : sysFiles){ sb.append(" " + f.toString() + "\n"); } } sb.append(" " + (sysInfoVo != null?sysInfoVo.toString():"") + "\n"); return sb.toString() ; } } public static void main(String[] args) throws Exception{ SysUtil.InfoVo vo = SysUtil.info() ; System.out.println(vo.toString()); } }