2011-07-29 25 views
2

Java 7現在可以有效處理30-100GB的大堆而無需顯着的GC暫停?具有30-100GB大堆的高效GC採集

+0

Java 7是一種語言。處理一個巨大的堆是實現的一個屬性。參考實現不能做到這並不意味着所有其他實現都不可能。 – delnan

+3

@delnan:Java7是一種語言*和* Hotspot的新實現,拋開過度的瑣碎行爲。這個問題完全有效。 – skaffman

+0

@skaffman我認爲delnan的意思是Hotspot並不是唯一的虛擬機。例如,IBM J9是另一種實現。 Hotspot和IBM J9具有完全不同的GC實施和策略。所以對另一個人來說,一個人可能無法實現。 –

回答

1

有可用的調整選項和併發GC,但在終身代的GC期間仍會有一些暫停。

安格蘭格在此演示文稿說明對此進行了詳細:

http://vimeo.com/28761227

0

另一種選擇是使用兵馬俑BigMemory。如果要將對象存儲在堆中的大緩存中,這非常有用。這不是開源的,但在我看來,價格合理。 BigMemory基本上在堆外分配對象內存,因此堆大小可以保持在最小或中等大小。