En yeni JDK'da G1 çöp toplayıcı ile deneyimlerin neler olduğunu bilmek ister misiniz? Programımda atılan NullPointerException
'u görüyorum, ancak kod daha önceki JDK'larda değişmedi ve doğru şekilde davranmadı.JDK ile Deneyim 1.6.x G1 ("Çöp İlk")
cevap
kullanıyorum jEdit yapıyordum:
-Xmx192M -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
pencerelerde son birkaç gün için. Yanlış giden veya yanıltıcı olan hiçbir şey yaşanmadı.
Ayrıca Intellig'i G1 GC kullanarak çalıştırmayı denedim, çok iyi değil. Büyük bir karmaşa yığınına çarpmadan birkaç saat sürdü, biraz iyimser belki.
İstisnalar denedim ve deneyimlemedim. Ancak sunucumuzun performansı yaklaşık% 30 düştü.
Bu kadar önemli bir performans düşüşünü gördüğünüzde hayal kırıklığı yaratıyor ama G1 toplayıcısının önemli bir amacının duraklamaları en aza indirgemek olduğunu hatırlamak önemlidir. Birkaç GB veya daha yüksek bir yığınla, GC diğer koleksiyoncularla çalışırken çoklu dakika duraklamaları alabilirsiniz. Bu yüzden, G1 daha istikrarlı olduğu ve en kötü durum davranışını sergilemediği sürece, biraz daha uzun yanıt sürelerine yol açsa bile, bu bazı uygulamalar için büyük bir iyileştirme olacaktır. –
Tüm VM seçeneklerinizi burada bize göndermelisiniz, böylece "% 30 düşüş analiziniz" ile karşılaştırılabilelim. – djangofan
Bir çöp toplayıcı sadece uygulama değil, onun doğruluğu ait performansını etkileyecektir. Eclipse için kullanıyorum, sadece eğlence için ve kararlı görünüyordu.
İstisnaların kaynağı için başka bir yere bakardım.
Çöp toplayıcısındaki bir hata, diğer taraftan, * doğruluğunu * etkileyebilir. "Deneysel" hakkında bir şey, durumu sorgulamak için tamamen mantıksız olmadığını söyler. :) –
Ben deneysel olduğunu ve en azından u14 ile değil, üretim kullanacağımı kabul ediyorum. –
Bu, deneysel bir özellik olduğunu unutmayın, bu nedenle sorunların beklenmesi gerekir. – Mark
Bir kod örneği verebilir misiniz? Yeni koleksiyoncuyla bir zamanlama/eşzamanlılık sorunu yaşayabilirsiniz. –
Genellikle dizi ayırmalarında rastgele OutOfMemoryError istisnaları aldım. Normal GC ile, hiçbir sorun meydana gelmez. – akarnokd