java的runtime类,java中Runtime类的简单应用
1.簡介
JVM中,Runtime類是唯一與JVM的運行狀態相關的類,并且默認情況下提供此類的實例化對象。
由于每個JVM進程中只允許運行時類的一個對象,因此默認情況下該類的構造方法是私有化的,這表明該類使用單例設計模式,并且單例模式將提供一個靜態方法來獲取此類。
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手工調用。
該文章部分內容來源于其他資料,如有侵權或對您造成困擾,還請及時聯系我刪除相關內容,帶來不便還請諒解。
總結
以上是生活随笔為你收集整理的java的runtime类,java中Runtime类的简单应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光头阳线预示着什么
- 下一篇: 金税盘时钟异常怎么处理