新的起點 新的開始

          快樂生活 !

          通過Runtime獲取當前JVM使用的Heap大小

                  一提起如何解決內存溢出問題,動輒使用復雜的監控軟件,比如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 秒)



          posted on 2009-05-20 21:58 advincenting 閱讀(291) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          公告

          Locations of visitors to this pageBlogJava
        1. 首頁
        2. 新隨筆
        3. 聯系
        4. 聚合
        5. 管理
        6. <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(13)

          隨筆分類(71)

          隨筆檔案(179)

          文章檔案(13)

          新聞分類

          IT人的英語學習網站

          JAVA站點

          優秀個人博客鏈接

          官網學習站點

          生活工作站點

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 吴旗县| 多伦县| 额济纳旗| 陆河县| 望城县| 湖州市| 宜川县| 乐亭县| 平舆县| 普宁市| 桃江县| 西畴县| 关岭| 罗平县| 云南省| 三都| 田东县| 武穴市| 乐清市| 白水县| 年辖:市辖区| 锡林郭勒盟| 明星| 佛山市| 孝义市| 四会市| 舟曲县| 灵璧县| 青海省| 舒城县| 永仁县| 五寨县| 滨海县| 双流县| 云龙县| 广河县| 定西市| 涿鹿县| 建德市| 泰州市| 乌拉特前旗|