回覆列表
  • 1 # 網路119119

    首先得知道JVM堆記憶體分為old和 young ,young又由eden 和survivor組成 而 survivor又由s0和s1組成。

    當Eden區域達到一定的量時,觸發了Minor GC,即將Eden和S0中的存活的物件複製S1中 然後清空Eden和S0,然後下一次觸發Minor GC時就將Eden和S1中的存活的物件複製S0中,然後清空Eden和S1 迴圈往復,當某個物件對複製次數達到16次,該物件就會被送到Old中。

    如果我們手動將JVM記憶體設定小一點,GC會更明顯。

    在eclipse中設定,可以看到我們設定的JVM初始堆大小為128M ,再看記憶體,它的GC會更加頻繁。

    你會發現 一個公式

    30.5 + 6 +6 + 85.5 = 128

    這裡的128就是我們eclipse中設定的堆記憶體大小。

  • 中秋節和大豐收的關聯?
  • 九華山歷史?