k94314517
2024-12-13 ad86a0aa39f20e1b8bb511acd6961c7ec59f9251
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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/03/21 14:49
 */
@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;
    }
}