1.描述
Runtime:描述運行時狀態,
在整個JVM中,Runtime類是唯一一個與JVM運行狀態有關的類,且默認提供一個該類的實體化物件,
由于在每一個JVM行程中只允許提供一個Runtime類的物件,所以該類的構造方法被默認私有化,指明該類使用的是單例設計模式,且單例模式會提供一個static方法獲取本類實體,
2.獲取
獲取實體化物件:
public static Runtime getRuntime() //回傳與當前Java應用程式關聯的運行時物件, Runtime類的大多數方法都是實體方法,必須針對當前的運行時物件進行呼叫,
3.方法介紹
- 獲取最大可用記憶體空間:public long maxMemory() ;
- 獲取可用記憶體空間:public long totalMemory() ;
- 獲取空閑記憶體空間:public long freeMemory() ;
- 手工進行GC處理:public void gc() ,
具體描述參考API檔案,
4.示例-觀察記憶體狀態
1 Runtime runtime = Runtime.getRuntime(); //獲取實體化物件 2 System.out.println(runtime.availableProcessors()); //回傳可用于Java虛擬機的處理器數量 (CPU內核數) 3 System.out.println("【1】MAX_MEMORY:" + runtime.maxMemory()); 4 System.out.println("【1】TOTAL_MEMORY:" + runtime.totalMemory()); 5 System.out.println("【1】FREE_MEMORY:" + runtime.freeMemory()); 6 runtime.gc(); // 垃圾回收 7 System.out.println("【2】MAX_MEMORY:" + runtime.maxMemory()); 8 System.out.println("【2】TOTAL_MEMORY:" + runtime.totalMemory()); 9 System.out.println("【2】FREE_MEMORY:" + runtime.freeMemory());
通過計算獲取到的 MAX_MEMORY、TOTAL_MEMORY 對應值,可分別獲取本機系統記憶體的值;
計算方法:
由于 Runtime 類中的 maxMemory()、totalMemory()、freeMemory()方法獲取的近似結果是以 位元組 為單位,所以將獲取到的值分別除以 1024的3次方 得到以G為單位的數值,
結論:
- maxMemory() 默認配置為本機系統記憶體的四分之一
- totalMemory() 默認配置為本機系統記憶體的六十四分之一
5.GC
GC(Garbage Collector)垃圾收集器,是可以由系統自動呼叫的垃圾釋放功能,或者使用Runtime類中的gc手工呼叫,
該文章部分內容來源于其他資料,如有侵權或對您造成困擾,還請及時聯系我洗掉相關內容,帶來不便還請諒解,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84948.html
標籤:Java
