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