Есть следующее тестовое задание:
Укажите корректные способы получения ссылки на объект Class класса String.
Склоняюсь к 2) и 4), но не уверен.
Пример кода с комментариями:
/*
Примечание:
Пакет java.lang.ref
Помимо обыкновенных ссылок, известных так же как Strong References (сильные ссылки),
в Java представлен пакет java.lang.ref, содержащий реализации Soft (мягких),
Week (слабых) и Phantom (фантомных) ссылок, которые по-разному обрабатываются
сборщиком мусора и предоставляют пользователю возможность более гибко работать с памятью.
*/
package regObjClass;
import java.lang.ref.PhantomReference;
import java.lang.ref.ReferenceQueue;
import java.lang.ref.SoftReference;
/**
*
* @author vvm
*/
public class RefObjClassString {
public static void main(String[] args) throws ClassNotFoundException {
Class c = Class.forName("java.lang.String"); //возвращает экземпляр класса
//Если у нас есть класс, для которого в момент компиляции известен тип то
Class strClass = String.class;
/* мягкие и фантомные ссылки*/
/* создание мягкой ссылки */
SoftReference<String> softRefStr = new SoftReference<String>(new String("SoftRef"));
ReferenceQueue<String> queue = new ReferenceQueue<String>(); //создание очереди
/*создание фантомной ссылки*/
PhantomReference<String> ref = new PhantomReference<String>(new String("Фантом"), queue);
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости