| New file | 
 |  |  | 
 |  |  | 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<SysFileSysUtil.SysFile> 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()); | 
 |  |  |     } | 
 |  |  | } |