懒羊羊
2024-01-31 e57a8990ae56f657a59c435a0613c5f7a8728003
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
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();
    }
}