通过Runtime获取当前JVM使用的Heap大小计算机二级考试

文章作者 100test 发表时间 2009:05:24 03:32:21
来源 100Test.Com百考试题网


  2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
  一提起如何解决内存溢出问题,动辄使用复杂的监控软件,比如Jprofile等,其实我们可以通过Runtime来获得当前Heap大小,使用Heap大小。测试如下:
  1. 设置JVM属性: -Xms64m -Xmx256m 最小64M 最大使用256M.
  2. 运行如下代码:
  public static void main(String [] args) throws Exception {
  int mb = 1024*1024.
  //Getting the runtime reference from system
  Runtime runtime = Runtime.getRuntime().
  System.out.println("##### Heap utilization statistics [MB] #####").
  // use memory
  List testList = new ArrayList().
  for(int i =0. i<.5000.i ){
  Thread.sleep(1000).
  for(int i1 =0. i1<.5000. i1 ){
  testList.add(new String[1000]).
  }
  System.out.println("Used Memory:"
   (runtime.totalMemory() - runtime.freeMemory()) / mb "M").
  }
  System.out.println("Free Memory:"   runtime.freeMemory() / mb "M").
  System.out.println("Total Memory:" runtime.totalMemory() / mb "M").
  System.out.println("Max Memory:" runtime.maxMemory() / mb "M").
  }
  }
  运行结果如下:
  ##### Heap utilization statistics [MB] #####
  Used Memory:19M
  Used Memory:38M
  Used Memory:57M
  Used Memory:77M
  Used Memory:96M
  Used Memory:115M
  Used Memory:134M
  Used Memory:154M
  Used Memory:173M
  Used Memory:192M
  Used Memory:211M
  Used Memory:230M
  Used Memory:249M
  Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
  at prepare.NewClass.main(NewClass.java:32)
  Java Result: 1
  成功生成(总时间:15 秒)
  总结:runtime.totalMemory() 获取Heap大小,runtime.freeMemory() 剩余Heap大小。

  特别推荐:

  2009年9月全国计算机等级考试时间及科目预告

  2009年上半年全国计算机等级考试参考答案请进入计算机考试论坛

  2009年全国计算机等级考试报名信息汇总

  2009年NCRE考试有新变化

  2009年全国计算机等级考试-大纲

  2009年上半年全国计算机二级考试试题及答案

  2009年上半年全国计算机等级考试试题答案汇总



相关文章


通过Runtime获取当前JVM使用的Heap大小计算机二级考试
计算机二级:通过java几行代码截取屏幕计算机二级考试
IE6中ExtJSGrid表头下拉菜单错乱问题计算机二级考试
计算机二级考试java辅导:spring集成hessian计算机二级考试
计算机二级辅导:使用JavaBean连接数据库计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛