Sobes.tech
Junior — Middle

Java-da yaddaş idarəsində SoftReference sinifinin tətbiqi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, SoftReference sinfi obyektlərə yumşaq istinadlar yaratmaq üçün istifadə olunur, bu da çöp toplayıcının yaddaş azlığı zamanı bu obyektləri silməsinə imkan verir, lakin kifayət qədər yaddaş olduğu müddətdə onları saxlayır.

Bu, keşi həyata keçirmək üçün faydalıdır: yalnız yumşaq istinadlara malik obyektlər tamamilə əlçatmaz sayılmır, lakin lazım olduqda OutOfMemoryError-dən qaçınmaq üçün silinə bilər.

İstifadə nümunəsi:

SoftReference<byte[]> cache = new SoftReference<>(new byte[1024 * 1024]);

byte[] data = cache.get();
if (data == null) {
    // Obyekt çöp toplayıcı tərəfindən silinib, məlumatları yenidən yükləmək lazımdır
    data = new byte[1024 * 1024];
    cache = new SoftReference<>(data);
}

Beləliklə, SoftReference yaddaşın səmərəli idarə olunmasına kömək edir, məlumatları keşi saxlamağa imkan verir, lakin lazım olduqda çöp toplayıcının yaddaşı sərbəst buraxmasını mane olmur.