Junior — Middle
Javaда бар болу референс түрлөрүн жана алардын өзгөчөлүктөрүн тизмелеп бере аласызбы?
sobes.tech AI
AIден жооп
Javaда, төмөнкү түрлөрү бар, алар калдык жыйноо жана эс тутумду башкарууга таасир этет:
-
Күчтүү шилтеме (Strong Reference)
- Туура келген шилтеме, биз аны стандарттык түрдө колдонобуз.
- Күчтүү шилтемеге ээ объект жыйноочу тарабынан өчүрүлбөйт.
-
Жумшак шилтеме (Soft Reference)
- Кэш үчүн колдонулат.
- Жумшак шилтемеге ээ объекттер эс тутум жетишпегенде гана өчүрүлөт.
- Класс:
java.lang.ref.SoftReference
-
Слаб шилтеме (Weak Reference)
- Слаб шилтемеге ээ объекттер кийинки жыйноо циклинде, эгер күчтүү шилтемелер жок болсо, өчүрүлөт.
- Слаб кэштерди ишке ашыруу үчүн колдонулат.
- Класс:
java.lang.ref.WeakReference
-
Фантом шилтеме (Phantom Reference)
- Объект өчүрүлүүгө даяр болгондо көзөмөлдөө үчүн колдонулат.
get()методу аркылуу объектти алуу мүмкүн эмес (null кайтарат).- Ресурстарды тазалоонун так контролу үчүн колдонулат.
- Класс:
java.lang.ref.PhantomReference
Жеңил шилтемени түзүү мисалы:
import java.lang.ref.WeakReference;
String күчтүү = new String("Hello");
WeakReference<String> жоон = new WeakReference<>(күчтүү);
күчтүү = null; // эми объект гана жоон шилтемеси аркылуу жеткиликтүү
String мааниси = жоон.get(); // эгер объект алда канча убакытта жыйналган болсо null кайтарат