SORU
17 Ocak 2009, CUMARTESİ


Statik alanları çöp toplama için açık?

Verilen program kurulum sadece kullanılan varsayımsal programı sınıf:

class MyUtils {
   private static MyObject myObject = new MyObject();
   /*package*/static boolean doStuff(Params... params) {
       // do stuff with myObject and params...
   }
}

myObject artık kullanılmayan çöp toplanacak, yoksa programın yaşam için etrafta olacak?

CEVAP
17 Ocak 2009, CUMARTESİ


Statik değişkenler sınıf yüklendiği sırada çöp toplama için seçilemez. İlgili sınıf yükleyicisi bu sınıf geçirilmesinden sorumlu olduğunu () çöpleri kendisi topladı olduğunda toplanır.

JLS Section 12.7 Unloading of Classes and Interfaces kontrol edin

Bir sınıf veya arabirim kaldırılmış olabilir ve sadece onun tanımlayıcı sınıf varsa Eğer loader çöp tarafından iadesi [...] toplayıcı Sınıflar ve arabirimler bootstrap loader olmayabilir yükleniyor kaldırılmış olması.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kourtneyannmakeup

    kourtneyannm

    19 ŞUBAT 2012
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • TheRightTire

    TheRightTire

    14 EKİM 2009