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

  • bmarian22

    bmarian22

    22 Aralık 2007
  • BSA

    BSA

    9 NİSAN 2012
  • hydejiaqi

    hydejiaqi

    12 Mart 2008