Yığında iki nesneyi birbirine atıfta buluyorsam ancak herhangi bir referans değişkenine bağlantı vermiyorlarsa o zaman çöp toplama için uygun nesneler var mı?İzole döngüsel referanslarla çöp toplama davranışı?
cevap
olan kontrol etmek isteyebilir. Temel olarak, GC, "toplanmış kökler" den (statik değişkenler, alll parçacıklarındaki tüm yığın çerçevelerinden gelen yerel değişkenler), toplanamayan nesneleri bulmak için yürür. Bir nesneyi bir kökten almanın bir yolu yoksa, koleksiyon için uygun olur.
DÜZENLEME: statik değişkenler kökleri olmayan
Teknik olarak - onlar sınıf yükleyiciler tarafından başvurulan sınıflar tarafından başvurulan: Tom bunun dışında, ben cevap kendisine kaldırma değer olarak düşünülen sivri Bu, numaralı sınıflar tarafından başvurulan ve kök referanslar tarafından başvurulan nesnesi tarafından başvurulanlardır.
fark zamanın en alakasız olması muhtemeldir, ama her zamanki gibi para :)
Şuna bir bakın: How does Java Garbage Collector Handle Self References.
Sen Evet, onlar java.lang.ref.WeakReference
Skeet 's bilmek güzel. Sadece tanımladığınız durumun referans sayımının (erken C++ akıllı işaretçilerle standart bir strateji) kullanılmamasının nedeni olduğunu eklerim.
- 1. Döngüsel referanslarla seri hale getirme yapılabilir mi?
- 2. newLISP çöp toplama kullanıyor mu?
- 3. Statik üyelerin çöp toplama
- 4. Özürlü Çöp Toplama Bildirimleri
- 5. Çöp toplama, java
- 6. nodejs çöp toplama çıkışı
- 7. Çöp toplama ve yansıma
- 8. Python'da manuel çöp toplama
- 9. node js çöp toplama/bellek sorunları krom
- 10. Çöp toplama ve saklama kutusu
- 11. Ruby Class nesne çöp toplama
- 12. javascript anonim işlev çöp toplama
- 13. C# çöp toplama nasıl azaltılabilir
- 14. Çöp Toplama yerel değişkeni kaldırmadı
- 15. yeni Konu() ve Çöp Toplama
- 16. Java 8 metaspace çöp toplama
- 17. Durdurulan Hizmet Sabit Çöp Toplama İşlemi Yapıyor
- 18. Çöp Toplama neden bu kadar yavaş?
- 19. Son derece uzun çöp toplama süreleri
- 20. Ruby'de çöp toplama profili nasıl yapılır
- 21. Ruby: Çöp toplama için bir nesneyi işaretleme
- 22. Arka plan işçi ve çöp toplama?
- 23. CLR çöp toplama metodolojisi, etrafında dairesel nesne referansları atmanın güvenli olduğu anlamına mı geliyor?
- 24. Mac'te Gitx Sierra: Objective-C çöp toplama artık desteklenmiyor
- 25. ReactiveUI bağlantıları, çöp toplama işleminin oluşmasını engelliyor gibi görünüyor.
- 26. CDI Uygulama ve Bağımlı kapsamlar çöp toplama etkisini etkileyebilir mi?
- 27. Bir IO eylemi yürütülürken bir liste toplama çöp kutusu
- 28. Android JNI yerel kod C++ nesneleri çöp toplama çağırmak mı?
- 29. Çöp Toplama, birden çok çalışan işlem/iş parçacığıyla nasıl çalışır?
- 30. Tam çöp toplama .NET 4.x'te nasıl zorlanır?
Teknik olarak, statik değişkenler kök değildir - bunlar, kök referansları tarafından başvurulan nesne tarafından başvurulan sınıflar tarafından başvurulan sınıf yükleyicileri tarafından başvurulan sınıflar tarafından başvurulanlardır. –
@ Tom: İyi çağrı. Düzenleme ... –