我爲GC優化概括了兩個目的:優化
將轉移到老年代的對象數量降到最少對象
按代的GC機制由Oracle JVM提供,不包括能夠在JDK7以及更高版本中使用的G1 GC。換句話說,對象被建立在伊甸園空間,然後轉化到倖存者空間,最終剩餘的對象被送到老年代。某些比較大的對象會在被建立在伊甸園空間後,直接轉移到老年代空間。老年代空間上的GC處理會新生代花費更多的時間。所以,減小被移到老年代對象的數據能夠顯著地減小Full GC的頻率。減小被移到老年代空間的對象的數量,可能被誤解爲將對象留在新生代。可是,這是不可能的。取而代之,你能夠調整新生代空間的大小。數據
減小Full GC執行時間時間
Full GC的執行時間比Minor GC要長不少。所以,若是Full GC花費了太多的時間(超過1秒),一些鏈接的部分可能會發生超時錯誤。錯誤
所以,你須要將老年代空間設定爲一個「合適」的值。版本