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
Маслиҳат барои эҷоди ишораи суст:
импорт java.lang.ref.WeakReference;
String қавӣ = нав String("Hello");
WeakReference<String> суст = new WeakReference<>(қавӣ);
қавӣ = null; // ҳоло объект танҳо тавассути ишораи суст дастрас аст
String арзиш = суст.get(); // метавонад null баргардонад, агар объект аллакай ҷамъ карда шудааст