雙11背後的技術(3)GC
可能大家都想在最短的時間內得到自己最想要的,但是往往情況是眾裡尋她千百度...

所以今天我們上來就說重點,如何阿里是如何調優 JVM 的垃圾回收,先放眼望去,觀察全域性,面對如此龐大訪問軍團,阿里是不會放過每一個可以調優的 JVM 細節的。當然也不放過這麼重要的垃圾回收。
垃圾回收就是降低 GC(垃圾回收頻率),所短 full GC 的時間,full GC 就是停下應用,放下手頭上一切工作專心地去做 GC,然後再恢復應用執行。

full GC 的主要工作就是整理壓縮 minor GC 造成的記憶體不連續的碎片。阿里巴巴做的優化是儘量減少 full GC 的頻率,和算短每次 full GC 的時間,因為這個太糟糕了。大體的思路就是在進行 full GC 之前,通過各種方式來整理 minor GC 所產生的記憶體碎片,這些本應該在 full GC 階段做的工作,來逐步瓦解 full GC。還有就是將記憶體進行分割槽規劃,分割槽內和分割槽外的記憶體碎片採用不同的策。
有關 GC 我們需要大篇幅才能把 JVM 的 GC 講清楚,尤其重點 G1 這個大名鼎鼎的 GC 收集器。

隨後介紹 GC 的演算法以及 GC 有哪些 GC 收集器,然後重點地說一說 G1 這個收集器。最後說一說如何優化 JVM 的 GC。