public static String accuracy(double num, double total, int scale){
DecimalFormat df = (DecimalFormat)NumberFormat.getInstance();
//可以设置精确几位小数
df.setMaximumFractionDigits(scale);
//模式 例如四舍五入
df.setRoundingMode(RoundingMode.HALF_UP);
double accuracy_num = num / total * 100;
return df.format(accuracy_num)+"%";
}
public static String getdadio(){ double freeMemory=new BigDecimal(new Double(Runtime.getRuntime().freeMemory()).doubleValue()/1024/1024).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue(); double maxMemory=new BigDecimal(new Double(Runtime.getRuntime().maxMemory()).doubleValue()/1024/1024).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue(); return accuracy(freeMemory,maxMemory,2); }
double freeMemory=new BigDecimal(new Double(Runtime.getRuntime().freeMemory()).doubleValue()/1024/1024).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue(); double maxMemory=new BigDecimal(new Double(Runtime.getRuntime().maxMemory()).doubleValue()/1024/1024).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue(); double totalMemory=new BigDecimal(new Double(Runtime.getRuntime().totalMemory()).doubleValue()/1024/1024).setScale(0,BigDecimal.ROUND_HALF_UP).doubleValue();; System.out.println(totalMemory); System.out.println(maxMemory); System.out.println(freeMemory);