国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java 獲取JVM內(nèi)存和物理內(nèi)存信息

2019-11-15 00:59:52
字體:
供稿:網(wǎng)友
java 獲取JVM內(nèi)存和物理內(nèi)存信息
 1 package com.sysinfo; 2 public class MonitorInfo { 3     /** jvm可使用內(nèi)存. */ 4     PRivate long totalMemory; 5      6     /** jvm剩余內(nèi)存. */ 7     private long freeMemory; 8      9     /** jvm最大可使用內(nèi)存. */10     private long maxMemory;11     12     /** 操作系統(tǒng). */13     private String osName;14     15     /** 總的物理內(nèi)存. */16     private long totalMemorySize;17     18     /** 剩余的物理內(nèi)存. */19     private long freeMemorySize;20     21     /** 已使用的物理內(nèi)存. */22     private long usedMemorySize;23     24     /** 核心數(shù). */25     private int processors;26 27     public long getTotalMemory() {28         return totalMemory;29     }30 31     public void setTotalMemory(long totalMemory) {32         this.totalMemory = totalMemory;33     }34 35     public long getFreeMemory() {36         return freeMemory;37     }38 39     public void setFreeMemory(long freeMemory) {40         this.freeMemory = freeMemory;41     }42 43     public long getMaxMemory() {44         return maxMemory;45     }46 47     public void setMaxMemory(long maxMemory) {48         this.maxMemory = maxMemory;49     }50 51     public String getOsName() {52         return osName;53     }54 55     public void setOsName(String osName) {56         this.osName = osName;57     }58 59     public long getTotalMemorySize() {60         return totalMemorySize;61     }62 63     public void setTotalMemorySize(long totalMemorySize) {64         this.totalMemorySize = totalMemorySize;65     }66 67     public long getFreeMemorySize() {68         return freeMemorySize;69     }70 71     public void setFreeMemorySize(long freeMemorySize) {72         this.freeMemorySize = freeMemorySize;73     }74 75     public long getUsedMemorySize() {76         return usedMemorySize;77     }78 79     public void setUsedMemorySize(long usedMemorySize) {80         this.usedMemorySize = usedMemorySize;81     }82 83     public int getProcessors() {84         return processors;85     }86 87     public void setProcessors(int processors) {88         this.processors = processors;89     }90 }
 1 package com.sysinfo; 2  3 import java.lang.management.ManagementFactory; 4 import java.math.BigDecimal; 5  6 import com.sun.management.OperatingSystemMXBean; 7  8 public class MonitorService { 9     public MonitorInfo getMonitorInfoBean() throws Exception {10         double mb = 1024 * 1024 * 1.0;11         double gb = 1024 * 1024 * 1024 * 1.0;12 13         // jvm14         double totalMemory = Runtime.getRuntime().totalMemory() / mb;15         double freeMemory = Runtime.getRuntime().freeMemory() / mb;16         double maxMemory = Runtime.getRuntime().maxMemory() / mb;17         // os18         OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory19                 .getOperatingSystemMXBean();20         String osName = System.getProperty("os.name");21         double totalMemorySize = osmxb.getTotalPhysicalMemorySize() / gb;22         double freeMemorySize = osmxb.getFreePhysicalMemorySize() / gb;23         double usedMemorySize = (osmxb.getTotalPhysicalMemorySize() - osmxb24                 .getFreePhysicalMemorySize()) / gb;25         // MonitorInfo26         MonitorInfo infoBean = new MonitorInfo();27         infoBean.setTotalMemory(getIntValue(totalMemory));28         infoBean.setFreeMemory(getIntValue(freeMemory));29         infoBean.setMaxMemory(getIntValue(maxMemory));30         infoBean.setOsName(osName);31         infoBean.setTotalMemorySize(getIntValue(totalMemorySize));32         infoBean.setFreeMemorySize(getIntValue(freeMemorySize));33         infoBean.setUsedMemorySize(getIntValue(usedMemorySize));34         infoBean.setProcessors(Runtime.getRuntime().availableProcessors());35         return infoBean;36     }37 38     /**39      * 四舍五入取整40      * 41      * @param d42      * @return43      */44     private static int getIntValue(double d) {45         return new BigDecimal(d).setScale(0, BigDecimal.ROUND_HALF_UP)46                 .intValue();47     }48 49     public static void main(String[] args) throws Exception {50         MonitorService service = new MonitorService();51         MonitorInfo monitorInfo = service.getMonitorInfoBean();52         // System.out.println("JVM可使用內(nèi)存=" + monitorInfo.getTotalMemory() +53         // "MB");54         // System.out.println("JVM剩余內(nèi)存=" + monitorInfo.getFreeMemory() + "MB");55         // System.out.println("JVM最大可使用內(nèi)存=" + monitorInfo.getMaxMemory() +56         // "MB");57 58         System.out.println("操作系統(tǒng)=" + monitorInfo.getOsName());59         System.out.println("核心數(shù)=" + monitorInfo.getProcessors());60         System.out.println("總的物理內(nèi)存=" + monitorInfo.getTotalMemorySize() + "GB");61         System.out.println("剩余的物理內(nèi)存=" + monitorInfo.getFreeMemorySize() + "GB");62         System.out63                 .println("已使用的物理內(nèi)存=" + monitorInfo.getUsedMemorySize() + "GB");64     }65 }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 柞水县| 黄石市| 壶关县| 望江县| 松江区| 林西县| 门源| 海林市| 若羌县| 金溪县| SHOW| 鄄城县| 霍城县| 滁州市| 象州县| 枣阳市| 庐江县| 吐鲁番市| 拉孜县| 益阳市| 清原| 甘洛县| 额济纳旗| 宣武区| 遵化市| 普兰店市| 来宾市| 墨脱县| 安西县| 边坝县| 天峻县| 四会市| 连云港市| 贡觉县| 合山市| 上高县| 肇州县| 台安县| 台安县| 沙雅县| 色达县|