package com.jcdm.framework.web.domain.server; import java.lang.management.ManagementFactory; import com.jcdm.common.utils.Arith; import com.jcdm.common.utils.DateUtils; /** * JVMç›¸å…³ä¿¡æ¯ * * @author jc */ public class Jvm { /** * 当å‰JVMå ç”¨çš„å†…å˜æ€»æ•°(M) */ private double total; /** * JVM最大å¯ç”¨å†…å˜æ€»æ•°(M) */ private double max; /** * JVM空闲内å˜(M) */ private double free; /** * JDK版本 */ private String version; /** * JDK路径 */ private String home; public double getTotal() { return Arith.div(total, (1024 * 1024), 2); } public void setTotal(double total) { this.total = total; } public double getMax() { return Arith.div(max, (1024 * 1024), 2); } public void setMax(double max) { this.max = max; } public double getFree() { return Arith.div(free, (1024 * 1024), 2); } public void setFree(double free) { this.free = free; } public double getUsed() { return Arith.div(total - free, (1024 * 1024), 2); } public double getUsage() { return Arith.mul(Arith.div(total - free, total, 4), 100); } /** * 获å–JDKåç§° */ public String getName() { return ManagementFactory.getRuntimeMXBean().getVmName(); } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getHome() { return home; } public void setHome(String home) { this.home = home; } /** * JDKå¯åŠ¨æ—¶é—´ */ public String getStartTime() { return DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.getServerStartDate()); } /** * JDKè¿è¡Œæ—¶é—´ */ public String getRunTime() { return DateUtils.timeDistance(DateUtils.getNowDate(), DateUtils.getServerStartDate()); } /** * è¿è¡Œå‚æ•° */ public String getInputArgs() { return ManagementFactory.getRuntimeMXBean().getInputArguments().toString(); } }