文章来源:http://www.javashuo.com/article/p-ozzruajh-ed.html html
package com.boot.demo.springbootdemo.common.util; import com.sun.management.OperatingSystemMXBean; import java.lang.management.ManagementFactory; public class GetComputerConfg { // 计算机可用内存 public String getSystemAvailableMemorySize(){ OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); long size = osmb.getFreePhysicalMemorySize(); //若是字节数少于1024,则直接以B为单位,不然先除于1024,后3位因太少无心义 if (size < 1024) { return String.valueOf(size) + "B"; } else { size = size / 1024; } //若是原字节数除于1024以后,少于1024,则能够直接以KB做为单位 //由于尚未到达要使用另外一个单位的时候 //接下去以此类推 if (size < 1024) { return String.valueOf(size) + "KB"; } else { size = size / 1024; } if (size < 1024) { //由于若是以MB为单位的话,要保留最后1位小数, //所以,把此数乘以100以后再取余 size = size * 100; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "MB"; } else { //不然若是要以GB为单位的,先除于1024再做一样的处理 size = size * 100 / 1024; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "GB"; } } // 计算机总内存 public String getSystemMemorySize(){ OperatingSystemMXBean osmb = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); long size = osmb.getTotalPhysicalMemorySize(); //若是字节数少于1024,则直接以B为单位,不然先除于1024,后3位因太少无心义 if (size < 1024) { return String.valueOf(size) + "B"; } else { size = size / 1024; } //若是原字节数除于1024以后,少于1024,则能够直接以KB做为单位 //由于尚未到达要使用另外一个单位的时候 //接下去以此类推 if (size < 1024) { return String.valueOf(size) + "KB"; } else { size = size / 1024; } if (size < 1024) { //由于若是以MB为单位的话,要保留最后1位小数, //所以,把此数乘以100以后再取余 size = size * 100; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "MB"; } else { //不然若是要以GB为单位的,先除于1024再做一样的处理 size = size * 100 / 1024; return String.valueOf((size / 100)) + "." + String.valueOf((size % 100)) + "GB"; } } }
文章来源:http://www.javashuo.com/article/p-ozzruajh-ed.html java