使用java查看内存使用情况
public class test {
public static <E> void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
final Runtime rt = Runtime.getRuntime();
// jvm终止前记录内存信息
rt.addShutdownHook(new Thread() {
public void run() {
StringBuffer sb = new StringBuffer();
long heapMaxSize = rt.maxMemory() >> 20;
sb.append("最大可用内存" + heapMaxSize);
long total = rt.totalMemory() >> 20;
sb.append("堆内存大小:" + total);
long free = rt.freeMemory() >> 20;
sb.append("空闲内存大小:" + free);
System.out.println(sb);
}
});
// 放入400万键值对
for (int i = 0; i < 4000000; i++) {
map.put("key" + i, "value" + i);
}
}
}