package com.dy.common.util; import lombok.Data; import java.net.UnknownHostException; import java.text.DecimalFormat; import java.util.Properties; /** * @Author: liurunyu * @Date: 2024/8/2 13:52 * @Description */ public class SysJvmUtil { /** Java虚拟机信息 */ public static JvmInfoVo info() throws UnknownHostException { JvmInfoVo vo = new JvmInfoVo() ; Properties props = System.getProperties(); vo.setTotal(toMbytes(Runtime.getRuntime().totalMemory())); vo.setMax(toMbytes(Runtime.getRuntime().maxMemory())); vo.setFree(toMbytes(Runtime.getRuntime().freeMemory())); vo.setVersion(props.getProperty("java.version")); vo.setHome(props.getProperty("java.home")); return vo ; } private static double toMbytes(double value){ return value/1000000.0 ; } @Data public static class JvmInfoVo { /** 当前JVM占用的内存总数(M) */ public double total; /** JVM最大可用内存总数(M) */ public double max; /** JVM空闲内存(M) */ public double free; /** JDK版本 */ public String version; /** JDK路径 */ public String home; public String toString(){ DecimalFormat df = new DecimalFormat("#.####"); // 设定格式 StringBuilder sb = new StringBuilder() ; sb.append(" JVM信息:\n"); sb.append(" JVM最大可用内存总数(M):" + df.format(max) + "\n"); sb.append(" JVM占用的内存数(M):" + df.format(total) + "\n"); sb.append(" JVM空闲内存数(M):" + df.format(free) + "\n"); sb.append(" JDK版本:" + version + "\n"); sb.append(" JDK路径:" + home + "\n"); return sb.toString() ; } } }