2011-10-02 38 views

回答

1

可以編織rt.jar事先和你的JDK/JRE替換它。請注意,由於Javaagent無法訪問引導類加載器,加載時織入不起作用。

然而,快速搜索發現,有整個JDK(孫1.6.0_26),明確要求System.gc()只有一個地方:

java.nio.Bits#reserveMemory 

也許你可以簡單地附加一個調試器,把一個斷點gc()方法?

這就是說你可以使用call()建議,而不是execution()這將編織調用客戶端代碼,而不是目標方法。所以你只需編織代碼和所有庫而不是JDK。

+0

謝謝,我修改gc()源代碼後,編譯openJDK更容易。 –