Sobes.tech
Junior — Middle

Javaда бар болу референс түрлөрүн жана алардын өзгөчөлүктөрүн тизмелеп бере аласызбы?

sobes.tech AI

AIден жооп

Javaда, төмөнкү түрлөрү бар, алар калдык жыйноо жана эс тутумду башкарууга таасир этет:

  1. Күчтүү шилтеме (Strong Reference)

    • Туура келген шилтеме, биз аны стандарттык түрдө колдонобуз.
    • Күчтүү шилтемеге ээ объект жыйноочу тарабынан өчүрүлбөйт.
  2. Жумшак шилтеме (Soft Reference)

    • Кэш үчүн колдонулат.
    • Жумшак шилтемеге ээ объекттер эс тутум жетишпегенде гана өчүрүлөт.
    • Класс: java.lang.ref.SoftReference
  3. Слаб шилтеме (Weak Reference)

    • Слаб шилтемеге ээ объекттер кийинки жыйноо циклинде, эгер күчтүү шилтемелер жок болсо, өчүрүлөт.
    • Слаб кэштерди ишке ашыруу үчүн колдонулат.
    • Класс: java.lang.ref.WeakReference
  4. Фантом шилтеме (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 кайтарат