2016-11-25 13 views
1

這些日子我對java gc產生了濃厚的興趣。我想讓年輕的gc優化導致一些stw真的很煩人。試驗多次後,我發現極大地保持實時數據的大小,生存空間受到影響像年輕的GC暫停時間(由jstat -gcnew印刷): enter image description herejava年輕gc暫停時間受到殘存垃圾大小的倖存空間的影響

誰能告訴我它是正確的還是不爲什麼。非常感謝。

+0

只是想知道:這個日誌是什麼? – Andremoniy

+0

@Andremoniy抱歉,由jstat -gcnew打印 –

回答

1

大多數JVM使用semi-space collector爲年輕一代。這意味着所有尚存的年輕的基因物必須被複制,而死的物不會。因此,直接複製的時間與實時數據有關,而生成大小本身只是間接相關的,因爲大小*死亡率和舊的升級率決定了年輕的生物體可以存在多少。

大大仍垃圾

的大小,如果是後剩餘的集合那麼它很可能是實時數據,而不是垃圾的影響。

+0

非常感謝。在閱讀你的答案後,我感到開悟。是的,那些搬到生存空間的人不是垃圾,他們是活的數據。 –

+0

@tuanlong垃圾收集器實際上是一個實時數據收集器;剩下的是空閒內存(包含無法訪問的對象和移走對象後留下的數據)。 – maaartinus