2009-06-12 19 views
8

最新のJDKでG1ガベージコレクタに関する経験は何ですか?私はNullPointerExceptionが私のプログラムに投げ込まれているのを見ましたが、コードは変更されず、以前のJDKでは正しく動作します。JDK 1.6.x G1での経験( "Garbage First")

+0

実験的な機能であり、問​​題が予想されることに注意してください。 – Mark

+4

コードサンプルを提供できますか?新しいコレクタにタイミング/並行性の問題が発生している可能性があります。 –

+0

ほとんどの場合、OutOfMemoryError例外は配列の割り当てでランダムに受け取りました。通常のGCでは、問題は発生しません。 – akarnokd

答えて

2

私が使用してjEditのを実行してきた:

-Xmx192M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC 

窓に日の最後のカップルのために。間違ったことや違法なことを経験したことはありません。

私はまた、G1 GCを使用してIntellijを実行しようとしましたが、それほどうまくいきませんでした。おそらく少し楽観的な混乱の大きな山にぶつかったのは数時間続いた。

1

私は例外なく例外を経験しました。しかし、サーバーのパフォーマンスは約30%低下しました。

+1

このような大幅なパフォーマンス低下を見たことは残念ですが、 G1コレクタの重要な目標は、休止を最小限に抑えることです。数GB以上のヒープを使用すると、GCが他のコレクタと連動しているときに、複数の分の一時停止を得ることができます。したがって、たとえG1の応答時間が多少長くなっても、一貫性があり、最悪の場合の動作を決して示さない限り、それは一部のアプリにとって大きな改善となるでしょう。 –

+1

"30%ドロップ解析"と比較できるように、ここではすべてのVMオプションをここに掲載する必要があります。 – djangofan

3

ガベージコレクタは、あなたのアプリケーションではなく、その正確パフォーマンスに影響を与えます。私はEclipseのために、楽しみのためだけに使用していて、安定しているようでした。

私は、例外の原因を別の場所で調べます。

+10

一方、ガベージコレクタのバグは、その正確さに影響を与える可能性があります。 「実験的」についての何かは、状況に疑問を言うのは完全に不合理ではないと私に伝えます。 :) –

+2

私はそれが実験的で、私は少なくともu14ではなく、それを使って生産することに同意します。 –

関連する問題