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

Маслиҳат барои эҷоди ишораи суст:

импорт java.lang.ref.WeakReference;

String қавӣ = нав String("Hello");
WeakReference<String> суст = new WeakReference<>(қавӣ);

қавӣ = null; // ҳоло объект танҳо тавассути ишораи суст дастрас аст

String арзиш = суст.get(); // метавонад null баргардонад, агар объект аллакай ҷамъ карда шудааст