package com.run.util;
import com.run.util.ByteUnitConversionUtil.Units;
import junit.framework.TestCase;
public class MemoryTest extends TestCase{
private Runtime run;
private long startMem,endMem;
private static String FORMAT="memory total:%s,free:%s,use:%s";
@Override
protected void setUp() throws Exception {
run=Runtime.getRuntime();
run.gc();
startMem=getMemory();
}
public void testMemory(){
String str="abc";
for(int i=0;i<3000;i++){
str+=i;
}
endMem=getMemory();
System.out.println("memory used:"+ByteUnitConversionUtil.convert(endMem-startMem, Units.MB));
}
private long getMemory(){
long total=run.totalMemory();
long free=run.freeMemory();
System.out.println(String.format(FORMAT,
ByteUnitConversionUtil.convert(total,Units.MB),
ByteUnitConversionUtil.convert(free,Units.MB),
ByteUnitConversionUtil.convert(total-free,Units.MB)));
return total-free;
}
}
Java程序运行前后内存使用情况
最新推荐文章于 2024-05-21 17:59:42 发布