2
我一直無法找到System.gc()
建議JVM執行的GC類型。 Here,據說「System.gc()
方法...強制主要收藏」,但this後意味着請求完整的gc。System.gc()觸發什麼類型的GC?
任何人都可以澄清或指出說明這一點的文檔?換句話說,它是要求的主要或全部gc?
我一直無法找到System.gc()
建議JVM執行的GC類型。 Here,據說「System.gc()
方法...強制主要收藏」,但this後意味着請求完整的gc。System.gc()觸發什麼類型的GC?
任何人都可以澄清或指出說明這一點的文檔?換句話說,它是要求的主要或全部gc?
這取決於您使用的JVM。
假設您使用熱點,行爲因傳遞給它的標誌而異。默認情況下,它會觸發一個完全停止的GC,它會在日誌中顯示爲導致[Full GC (System.gc)]
的gc。使用DisableExplicitGC
它根本不會調用任何GC。如果使用G1或CMS,則ExplicitGCInvokesConcurrent
將更改該行爲,以啓動併發舊gen集合。
由於GC循環變得更加細緻,主要和次要術語不再有用。
如果有疑問,請啓用GC日誌並自行查看。