可能大家都想在最短的時(shí)間內(nèi)得到自己最想要的壹哺,但是往往情況是眾里尋她千百度...
所以今天我們上來就說重點(diǎn)倾剿,如何阿里是如何調(diào)優(yōu) JVM 的垃圾回收,先放眼望去熏挎,觀察全局速勇,面對如此龐大訪問軍團(tuán),阿里是不會(huì)放過每一個(gè)可以調(diào)優(yōu)的 JVM 細(xì)節(jié)的坎拐。當(dāng)然也不放過這么重要的垃圾回收烦磁。
垃圾回收就是降低 GC(垃圾回收頻率),所短 full GC 的時(shí)間哼勇,full GC 就是停下應(yīng)用都伪,放下手頭上一切工作專心地去做 GC,然后再恢復(fù)應(yīng)用運(yùn)行积担。
full GC 的主要工作就是整理壓縮 minor GC 造成的內(nèi)存不連續(xù)的碎片陨晶。阿里巴巴做的優(yōu)化是盡量減少 full GC 的頻率,和算短每次 full GC 的時(shí)間帝璧,因?yàn)檫@個(gè)太糟糕了先誉。大體的思路就是在進(jìn)行 full GC 之前,通過各種方式來整理 minor GC 所產(chǎn)生的內(nèi)存碎片的烁,這些本應(yīng)該在 full GC 階段做的工作褐耳,來逐步瓦解 full GC。還有就是將內(nèi)存進(jìn)行分區(qū)規(guī)劃渴庆,分區(qū)內(nèi)和分區(qū)外的內(nèi)存碎片采用不同的策铃芦。
有關(guān) GC 我們需要大篇幅才能把 JVM 的 GC 講清楚买雾,尤其重點(diǎn) G1 這個(gè)大名鼎鼎的 GC 收集器。
隨后介紹 GC 的算法以及 GC 有哪些 GC 收集器杨帽,然后重點(diǎn)地說一說 G1 這個(gè)收集器漓穿。最后說一說如何優(yōu)化 JVM 的 GC。