在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ 深入理解java虛擬機(jī)第二版 代碼清單3-1對于引用算法的驗(yàn)證沒有輸出結(jié)果,與書

深入理解java虛擬機(jī)第二版 代碼清單3-1對于引用算法的驗(yàn)證沒有輸出結(jié)果,與書上說明不符,為什么?

代碼如下:

package referenceCoutingGC;

/**
 * 
 * testGC()方法執(zhí)行后,ogjA和ogjB會不會被GC呢?
 *
 */
public class referenceCoutingGC {
    
    public Object instance = null;
    
    private static final int _1MB = 1024*1024;
    
    private byte[] bigSize = new byte[2*_1MB];
    
    public static void testGC(){
        referenceCoutingGC objA = new referenceCoutingGC();
        referenceCoutingGC objB = new referenceCoutingGC();
        objA.instance = objB;
        objB.instance = objA;
        
        objA = null;
        objB = null;
        
        //假設(shè)在這行放生GC,objA和objB是否能被回收?
        System.gc();
        System.out.println("??");
    }
    public static void main(String[] args){
        
        testGC();
        
    }
}

書上是有輸出結(jié)果的。 還特地說明4603k->210k的字眼。

我的是jdk 1.8

回答
編輯回答
孤客

他那個(gè)輸出是因?yàn)檫\(yùn)行java時(shí)添加了運(yùn)行參數(shù), 應(yīng)該是-XX:+PrintGCDetails.
個(gè)人理解, 這一節(jié)只是一個(gè)簡介, 而這個(gè)例子只是想告訴你那兩個(gè)對象會被回收, 你可以暫時(shí)忽略這些日志, 有興趣可以在讀完這章以后再回頭看這些示例.
說的直白點(diǎn), 即使你能讓程序輸出這些GC日志, 也不一定看得懂. 所以, 繼續(xù)往下讀吧.

2017年7月2日 05:51