JVM 通過 垃圾收集-GC 自動(dòng)管理內(nèi)存堆中對(duì)象內(nèi)存的分配和回收。JVM 通常采用分代垃圾收集器,以便于整理內(nèi)存碎片。分代垃圾收集器就是基于對(duì)象不同生命周期,將堆分成不同的內(nèi)存區(qū)域,然后組合使用不同的垃圾收集算法,可簡(jiǎn)單認(rèn)為分為兩部分組成:

  • Young Generation:年輕代,由Eden和兩個(gè)相等的Survivor空間組成,其中一個(gè)Survivor始終為空,用來復(fù)制Minor GC后在Eden和另一個(gè)Survivor存活的對(duì)象。

  • Old Generation:老年代,對(duì)象生命周期比較長(zhǎng)。

內(nèi)存回收

內(nèi)存回收主要考慮兩個(gè)問題: