Makinemde başlattığım her java işlemi varsayılan olarak 2 çöp toplayıcısına sahip gibi görünüyor. Bunu JConsole üzerinden kontrol ediyorum.Java'da birden çok çöp toplayıcısı
Örnek - şu anda çalışan tutulma için. Onların örtüşen havuzları varsayıyorum
Collection Count - 241
Collection Time - 2428
Memory Pool Names - java.lang.String[2]
PS MarkSweep
Collection Count - 221
Collection Time - 102118
Memory Pool Names - java.lang.String[4]
PS Scavenge. İki çöp toplayıcısı, aynı havuzları (Cennet, kurtulan, yaşlı gen) kullanırken nasıl çalışır? Havuzlar arasında nesnelerin hareketinde çakışma yok mu (ikinci algoritma çağrıldığında 1'den sağkafadan diğerine hareket gibi)? Olmasa bile, havuz başına birden fazla kolektöre neden ihtiyacımız var?
this article on GC okudum. Farklı büyük ve küçük GC'ler için farklı toplayıcılar kullanmaya başvururlar, ancak aynı havuzda birden çok toplayıcı kullanmanın bir referansı yoktur.
Farklı nesiller için farklı koleksiyonculara sahip olmak ne garip? – Mikhail
Farklı jenerasyonlar için farklı kolektörler kullanmayı anlıyorum, ama aynı jenerasyonlar için çok sayıda kollektör varmış gibi görünüyor. Bu nasıl çalışıyor? –
Büyük koleksiyonlar sadece eski nesiller için değil, tüm yığınları temizler. – Mikhail