我确信我在这里犯了一些非常愚蠢的错误。
我有这个代码:
private static String generateRAM()
{
final long RAM_TOTAL = Runtime.getRuntime().totalMemory();
final long RAM_FREE = Runtime.getRuntime().freeMemory();
final long RAM_USED = RAM_TOTAL - RAM_FREE;
final long RAM_TOTAL_MB = RAM_TOTAL / 8 / 1024;
final long RAM_FREE_MB = RAM_FREE / 8 / 1024;
final long RAM_USED_MB = RAM_USED / 8 / 1024;
final double RAM_USED_PERCENTAGE = (RAM_USED / RAM_TOTAL) * 100;
return RAM_TOTAL_MB + "MB TOTAL / " + RAM_FREE_MB + "MB FREE / " + RAM_USED_MB + "MB USED (" + RAM_USED_PERCENTAGE + "%)";
}
返回:
15440MB TOTAL / 11809MB FREE / 3630MB USED (0.0%)
百分比显然不正确。
这是怎么发生的?
就我所知,我是正确的,我的所有数学都是正确的。
如果我将给定的数字打入计算器并自己找到百分比,我得到23.5,我的预期结果。
我确定我犯了一个可怕的错误,我会踢自己,是否有人可以启发我?