Java - 将字节转换为兆字节

时间:2018-01-16 04:44:33

标签: java math memory

我在这里有以下代码:

long memoryUsedOnStartup = Runtime.getRuntime().totalMemory() -
Runtime.getRuntime().freeMemory();

我在我的程序中使用它来处理一些统计信息,但这会以千字节为单位返回它。有没有可靠的方法将其转换为兆字节?

编辑:它以字节为单位返回,但我仍需要以兆字节为单位...

2 个答案:

答案 0 :(得分:2)

  

1千字节(KB) - > 2 ^ 10 = 1,024字节

     

1兆字节(MB) - > 2 ^ 20 = 1,048,576字节= 1,024千字节(KB)

public long freeMemory()

  

返回:当前内存总量的近似值   可用于将来分配的对象,以字节为单位。

public long totalMemory()

  

返回:当前可用于当前的内存总量   和未来的对象,以字节为单位。

因此,当您计算memoryUsedOnStartup时,它以字节为单位。如果您希望以兆字节获得结果,则需要将其除以(1024 * 1024)

答案 1 :(得分:-1)

private static final long  MB = 1024L * 1024L;

 public static long KBToMB(long KB) 
 {
    return KB / MB;
 }