Java ile çalışırken, uygulama boyunca çeşitli örnekler, nesneler oluştururuz ve dolayısıyla bunlar bellekte yer kaplar. Peki kullanmadığımız örnekler ne oluyor derseniz, biraz beyin fırtanası yapalım. Java garbage collector, bundan sonra GC, kulllanılmayan daha doğrusu hiç bir örneği işaret etmeyen referansları kendince bir algoritma aracılığı ile belli sürelerde kontrol eder ve siler. İşte finalize metodu bu örneğin kaldırılmasından önce çalışır; fakat kullanılması pek tavsiye edilmez. Bunun en büyük nedeni GC’ nin ne zaman kontrol işlemini gerçekleştireceği belli değildir. Bunun yanı sıra kontrol işleminden sonra da bu örneğin ne zaman kaldırılacağı belli değildir.

GC, bu tür kontrol işlemini otomatik yapıyor da biz GC’ yi çağıramıyor muyuz diye sesler duyar gibiyim :D. Tabii ki çağırıyoruz.

System.gc()

komutu bunun için yeterlidir. Yalnız bunun aşırı kullanılması programı fark edilir şekilde yavaşlatacaktır. Ayrıca yine finalize metodunun override edilip kullanılması da uygulamayı yavaşlatacaktır.

Bol Java’ lı günler dileğiyle…

Categories:

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir