package com.tanruyu.jvm.gc.learn;
/**
* 驗證何時進行垃圾收集
*
* -verbose:gc
-Xms20M 堆初始內存
-Xmx20m 堆最大內存
-Xmn10M 堆中的新生代內存大小
-XX:+PrintGCDetails
-XX:SurvivorRatio=8 新生代中的Eden 與 Survivor 內存大小比例
*
* @author ruyu.tan
* @version V1.0
* @ClassName: GCTest1
* @date 13:39
*/
public class GCTest1 {
public static void main(String[] args) throws InterruptedException {
int sizeK = 1024;
int size = 1024 * 1024;
byte [] b1 = new byte [2 * size];
System.out.println("第1個輸出語句");
Thread.sleep(2000);
byte [] b2 = new byte [2 * size];
System.out.println("第2個輸出語句");
// byte [] b3 = new byte [2 * size];
byte[] b22 = new byte [1880 * sizeK];
// byte[] b22 = new byte [1877 * sizeK];
System.out.println("第3個輸出語句");
// byte [] b4 = new byte [2 * size];
// System.out.println("第4個輸出語句");
System.out.println(b1.length);
}
}
然後啓動參數:
-verbose:gc
-Xms20M 堆初始內存
-Xmx20m 堆最大內存
-Xmn10M 堆中的新生代內存大小
-XX:+PrintGCDetails
-XX:SurvivorRatio=8 新生代中的Eden 與 Survivor 內存大小比例
但是下圖通過調整創建數組對象的大小,從而觸發Minor GC:
關於上圖中,並沒有看到各區並沒有看到數組對象經過回收後,內存佔用位於何處?