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

  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • tinycammonitor

    tinycammonit

    14 Aralık 2010
  • WiseOwlTutorials

    WiseOwlTutor

    21 EKİM 2011