日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 内存情况_java查看jvm内存使用情况

發布時間:2025/3/12 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 内存情况_java查看jvm内存使用情况 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java查看jvm內存使用情況

(2012-03-22 15:50:54)

標簽:

jvm

內存

虛擬機

分配

it

java.lang.Runtime類提供了查看當前JVM內存的使用情況。每個java實例(即虛擬機實例)只有一個Runtime的實例,通過Runtime.getRuntime()可以得到當前虛擬機中的Runtime實例對象。

Runtime提供3個方法可以獲取當前JVM最大可以使用內存、當前JVM已擁有最大內存和剩余未使用內存。這3個內存指的都是JVM堆內存。

Runtime.maxMemory();

Runtime.totalMemory();

Runtime.freeMemory();

首先在JAVA的啟動參數中加入指定-Xmx100m,設置JVM堆最大可以使用100m的內存。

Runtime run = Runtime.getRuntime();

long max = run.maxMemory();

long total = run.totalMemory();

long free = run.freeMemory();

long usable = max - total + free;

System.out.println("最大內存 = " + max);

System.out.println("已分配內存 = " + total);

System.out.println("已分配內存中的剩余空間 = " + free);

System.out.println("最大可用內存 = " + usable);

上面代碼的輸出結果如下(這些內存大小與運行環境相關)

最大內存 = 104071168

已分配內存 = 5177344

已分配內存中的剩余空間 = 4937280

最大可用內存 = 103831104

最大內存(maxMemory)是通過啟動JAVA虛擬機時使用參數-Xmx100m指定的,而輸出也確實是100m。這表示JVM的堆內存最大可以使用104071168字節。

已分配內存(totalMemory)jvm使用的內存都是從本地系統獲取的,但是通常jvm剛啟動的時候,并不會向系統申請全部的內存。而是根據所加載的Class和相關資源的容量來決定的。在本例中,由于只在一個main()主方法中執行了上面的幾行簡單的代碼。所以JVM只申請了5177344字節的內存。

已分配內存中的剩余空間(freeMemory) 這是相對以分配內存(totalMemeory)計算的,相當于totalMemory -

已使用內存。當freeMemory 快要接近0時,以分配的內存即將耗盡,JVM會決定再次向系統申請更多的內存。

最大可用內存 (usable)這是JVM真正還可以再繼續使用的內存(不考慮之后垃圾回收再次得到的內存)。由【最大內存 - 已分配內存

+ 已分配內存中的剩余空間】計算得到。

分享:

喜歡

0

贈金筆

加載中,請稍候......

評論加載中,請稍候...

發評論

登錄名: 密碼: 找回密碼 注冊記住登錄狀態

昵???稱:

評論并轉載此博文

發評論

以上網友發言只代表其個人觀點,不代表新浪網的觀點或立場。

總結

以上是生活随笔為你收集整理的java 内存情况_java查看jvm内存使用情况的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。