歡迎關(guān)注公眾號OpenCoder,來和我做朋友吧~??????
今天穿插一篇特別說明篇,有些同學(xué)在問YongGC、MinorGC、MajorGC以及Old GC、Full GC這么多名詞到底誰是誰?搞暈了!本篇文章特別說明下
這里我們把一些名詞拿來給大家補充說明下,比如MinorGC 、YongGC、Full GC、OldGC、Major GC、Mixed GC,可能每個人在說的時候都有點混淆和模糊怎么有這么多詞呢?到底哪個代表的是新生代、老年代?
這次名詞其實在業(yè)內(nèi)并沒有一個統(tǒng)一的標(biāo)準(zhǔn)和定義,以及在一些書中也是不同,面試的時候如果不說清楚可能跟面試官的理解也會有差別,因此我們一起說明下:
(1)Minor GC / YongGC
這兩個名詞都是指的新生代或年輕代,從字面意思也能理解。那么新生代GC,我們就可以說是YongGC或MinorGC,兩者都可以。
(2)老年代GC,Old GC?
之前我們說老年代GC 一直都說用的Full GC,沒有提過 Old GC ,當(dāng)然如果要說單獨說老年代GC ,那么用Old GC是比較合適的。后續(xù)我們提到老年代GC 也都用 Old GC來。(當(dāng)然如果用Full GC其實也沒有問題,一般來講觸發(fā)到Old GC都會要么前要么后順帶一次Minor GC,所以我們一般也就直接稱為Full GC)
(3)Full GC
首先Full GC是指的針對 新生代、老年代、永久代的全體內(nèi)存空間的垃圾回收,所以叫做 Full GC。
(4)Major GC
很多書籍或博客里有些說 Major GC == Old GC, 也有說 == Full GC,這個詞目前用的很混淆,所以個人建議盡量不提這個詞,如果真有面試中面試官說到這個詞,那么可以向他明確一下是指的年老代回收還是整堆回收。
(5)Mixed GC
Mixed GC是G1中特有的概念,當(dāng)老年代內(nèi)存占據(jù)到了45%就戶觸發(fā)Mixed GC,對新生代和老年代都進行回收。