1. 程式人生 > >Rumtime.getRuntime()方法的幾個獲取記憶體值方法的含義

Rumtime.getRuntime()方法的幾個獲取記憶體值方法的含義

1.具體含義 

 2.舉例說明

    1)設定虛擬機器引數 --初始堆的大小設定為5M,堆最大值為20M

    2)程式碼示例

package com.roger.jvmparam;

public class JvmParamMain {

    public static void main(String[] args) {


        System.out.print("jvm可以從作業系統申請到的最大堆記憶體");
        System.out.println(Runtime.getRuntime().maxMemory() / 1024.0 / 1024 + "M");

        System.out.print("jvm初始從作業系統申請到的堆記憶體");
        System.out.println(Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");

        byte[] b = new byte[4 * 1024 * 1024];
        System.out.println("jvm新增加了4M空間給陣列後");

        System.out.print("jvm從作業系統申請到的堆記憶體");
        System.out.println(Runtime.getRuntime().totalMemory() / 1024.0 / 1024 + "M");

        System.out.print("jvm中已經分配的堆記憶體中可以使用的堆記憶體大小");
        System.out.println(Runtime.getRuntime().freeMemory() / 1024.0 / 1024 + "M");
    }
}

   3.執行結果

jvm可以從作業系統申請到的最大堆記憶體18.0M
jvm初始從作業系統申請到的堆記憶體5.5M
jvm新增加了4M空間給陣列後
jvm從作業系統申請到的堆記憶體10.0M
jvm中已經分配的堆記憶體中可以使用的堆記憶體大小4.4902496337890625M