7.G1收集器一款面向服務端應用的垃圾收集器。 特點如下: 并行與并發:G1能充分利用多CPU、多核環境下的硬
件優勢,使用多個CPU來縮短Stop-The-World停頓時間。部分收集器原本需要停頓Java線程來執行GC動作,G1收
集器仍然可以通過并發的方式讓Java程序繼續運行。 分代收集:G1能夠獨自管理整個Java堆,并且采用不同的方
式去處理新創建的對象和已經存活了一段時間、熬過多次GC的舊對象以獲取更好的收集效果。 空間整合:G1運作
期間不會產生空間碎片,收集后能提供規整的可用內存。 可預測的停頓:G1除了追求低停頓外,還能建立可預測
的停頓時間模型。能讓使用者明確指定在一個長度為M毫秒的時間段內,消耗在垃圾收集上的時間不得超過N毫
秒。

這些準則僅提供選擇收集器的起點,因為性能取決于堆的大小,應用程序維護的實時數據量以及可用處理器的數量
和速度。 如果推薦的收集器沒有達到所需的性能,則首先嘗試調整堆和新生代大小以達到所需的目標。 如果性能
仍然不足,嘗試使用其他收集器 總體原則:減少STOP THE WORD時間,使用并發收集器(比如CMS+ParNew,
G1)來減少暫停時間,加快響應時間,并使用并行收集器來增加多處理器硬件上的總體吞吐量。