package com.doumee.core.utils.monitor; 
 | 
  
 | 
import io.swagger.annotations.ApiModel; 
 | 
import io.swagger.annotations.ApiModelProperty; 
 | 
import lombok.Data; 
 | 
  
 | 
import java.io.Serializable; 
 | 
import java.util.Date; 
 | 
  
 | 
/** 
 | 
 * @author Eva.Caesar Liu 
 | 
 * @date 2023/02/14 11:14 
 | 
 */ 
 | 
@Data 
 | 
@ApiModel("JVM信息") 
 | 
public class JVM implements Serializable { 
 | 
  
 | 
    @ApiModelProperty(value = "版本") 
 | 
    private String version; 
 | 
  
 | 
    @ApiModelProperty(value = "安装路径") 
 | 
    private String home; 
 | 
  
 | 
    @ApiModelProperty(value = "启动时间") 
 | 
    private Date bootTime; 
 | 
  
 | 
    @ApiModelProperty(value = "内存信息") 
 | 
    private Memory memory; 
 | 
  
 | 
    @ApiModelProperty(value = "运行时长") 
 | 
    public String getRuntime () { 
 | 
        long ms = (System.currentTimeMillis() - bootTime.getTime())/1000; 
 | 
        long months = ms/2592000; // 一个月按30天计算 
 | 
        long days = ms%2592000/86400; 
 | 
        long hours = ms%2592000%86400/3600; 
 | 
        long minutes = ms%2592000%86400%3600/60; 
 | 
        String runtime = ""; 
 | 
        if (months > 0) { 
 | 
            runtime += months + "个月"; 
 | 
        } 
 | 
        if (days > 0 || months > 0) { 
 | 
            runtime += days + "天"; 
 | 
        } 
 | 
        if (hours > 0 || days > 0 || months > 0) { 
 | 
            runtime += hours + "小时"; 
 | 
        } 
 | 
        runtime += minutes + "分钟"; 
 | 
        return runtime; 
 | 
    } 
 | 
} 
 |