我在这里有以下代码:
long memoryUsedOnStartup = Runtime.getRuntime().totalMemory() -
Runtime.getRuntime().freeMemory();
我在我的程序中使用它来处理一些统计信息,但这会以千字节为单位返回它。有没有可靠的方法将其转换为兆字节?
编辑:它以字节为单位返回,但我仍需要以兆字节为单位...
答案 0 :(得分:2)
1千字节(KB) - > 2 ^ 10 = 1,024字节
1兆字节(MB) - > 2 ^ 20 = 1,048,576字节= 1,024千字节(KB)
返回:当前内存总量的近似值 可用于将来分配的对象,以字节为单位。
返回:当前可用于当前的内存总量 和未来的对象,以字节为单位。
因此,当您计算memoryUsedOnStartup
时,它以字节为单位。如果您希望以兆字节获得结果,则需要将其除以(1024 * 1024)
答案 1 :(得分:-1)
private static final long MB = 1024L * 1024L;
public static long KBToMB(long KB)
{
return KB / MB;
}