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

  • 3DS Max Tutorials

    3DS Max Tuto

    4 AĞUSTOS 2013
  • friendz.net

    friendz.net

    29 EKİM 2010
  • GWTLecturer

    GWTLecturer

    18 EKİM 2012