Описание тега phantom-reference
Фантомная ссылка относится к ссылочному типу объектов в java. Это самый слабый из справочных типов. Если объект завершен, но его память еще не восстановлена, выполняется фантомная ссылка. Альтернатива устаревшей финализации с помощью метода finalize()
1
ответ
Почему мои объекты не умирают?
Я пытаюсь реализовать механизм, который удаляет кэшированные файлы, когда объекты, которые их содержат, умирают, и решил использовать PhantomReferences, чтобы получить уведомление о сборке мусора объекта. Проблема в том, что я продолжаю испытывать с…
05 авг '13 в 19:02
1
ответ
Какова связь между PhantomReference и ReferenceQueue?
У меня есть небольшая путаница по поводу PhantomReference в Java. Когда я просматривал онлайн-статьи, большинство из них упоминало, что объект PhantomReference вернет значение null после создания, даже если мы вызовем get() для ссылки, а также упомя…
08 окт '14 в 15:37
1
ответ
Удалить нативный узел с общим классом PhantomReference
Как говорит Ханс Бём в лекции Google I/O '17 " Как управлять собственной памятью C++ в Android ", я предлагаю использовать PhantomReference класс для обеспечения правильного удаления собственных пиров. В связанном видео в 18 минут 57 секунд он показ…
10 сен '17 в 19:06
1
ответ
Java PhantomReference против finalize()
Я читал эту статью о PhantomReference https://www.baeldung.com/java-phantom-reference и упрощенном примере кода, найденном там: public static void main(String[] args) throws InterruptedException { ReferenceQueue<Object> referenceQueue = new Re…
17 дек '18 в 19:53
1
ответ
Когда использовать фантомные ссылки в Java?
Возможный дубликат: Вы когда-нибудь использовали ссылку Phantom в каком-либо проекте? Я читал о различных типах ссылок. Я понимаю, как работают сильные, мягкие и слабые ссылки. Но когда я читал о фантомных ссылках, я не мог их понять. Возможно, пото…
22 мар '12 в 16:44
1
ответ
PhantomReference с нулевой очередью
Java позволяет писать: new PhantomReference(new Object(), null) В этом случае new Object() будет собираться? Как я понимаю, фантомная ссылка является альтернативой finalize() использование метода. И после появления ссылки в очереди, мне нужно сделат…
30 дек '16 в 12:10
4
ответа
Указатели на функции-члены и фантомные классы
Я возился с указателями на функции-члены по отношению к предыдущему вопросу. В приведенном ниже коде я вызываю методы для класса (B), которые изменяют переменную (число) в нем, но я никогда не создаю экземпляр этого класса. Почему это работает? #inc…
19 окт '10 в 10:58
1
ответ
Использование различных ссылочных типов в Java
Недавно я поигрался с мягкими, слабыми и фантомными ссылочными типами в Java, и мне было интересно, есть ли какие-то способы их использования, с которыми я не сталкивался. Я использовал их в прошлом для разных вещей, и они всегда подпадали под катег…
21 янв '11 в 00:35
1
ответ
Пример использования PhantomReference
Насколько я знаю, ссылки попадают в QueueReference когда объект, на который указывает ссылка, удаляется. Вот пример, где я собирался продемонстрировать это, но это не работает. Код внутри if никогда не был казнен. Что это значит. Я использовал это н…
10 дек '15 в 15:34
2
ответа
Буду ли я избегать использования Reflection во время финализации с PantomReferences?
Допустим, я создал класс MyClass, который реализует Closable. Так что в методе close() я собираюсь освободить несколько очень важных ресурсов. Ну, так как это очень важные источники, я создал какую-то сеть безопасности (как рекомендуется в Effective…
07 апр '14 в 20:15
5
ответов
Когда использовать слабые и фантомные ссылки в Java
Я читаю много статей, но не понимаю - где мне на практике использовать слабые и фантомные ссылки? Мягкие ссылки - это хороший выбор для кеша, как я понимаю. Но слабый и призрачный, я не знаю, когда использовать. Пожалуйста, приведите примеры реальны…
09 июл '12 в 14:49
2
ответа
Смешивание разных типов ссылок в одной коллекции
SoftReference, WeakReference, PhantomReference может быть использован для настройки процесса сбора мусора. Все они расширяются Reference<T> поэтому их можно смешивать в одной коллекции. Жесткие ссылки (наиболее распространенные) не распростран…
24 июн '11 в 06:15
2
ответа
Почему призрачная ссылка не ставится в очередь?
Я опираюсь на фантомную ссылку, и я запутался, как эта фантомная ссылка ставится в очередь, когда референт собирает мусор. Вот мой код Object s = new Object(); ReferenceQueue<Object> queue = new ReferenceQueue<Object>(); PhantomReference…
23 фев '18 в 09:33
6
ответов
Java: разница между сильной / мягкой / слабой / фантомной ссылкой
Я читал эту статью на эту тему, но я не совсем понимаю. Пожалуйста, дайте мне несколько советов вместе с примерами при описании концепций.
21 мар '12 в 16:43
1
ответ
Важность фантомной ссылки в Java
Я хотел понять заявление ниже, выделенное жирным шрифтом. Что это значит? ( Ссылка) Объект, который переопределяет finalize() Теперь необходимо определить, что это мусор, по крайней мере, в двух отдельных циклах сбора мусора, чтобы его можно было со…
12 июл '15 в 20:05
6
ответов
Призрачные объекты
Призрачные ссылки служат для посмертных операций. В спецификации Java говорится, что объект, на который ссылаются фантомы, не будет освобожден до тех пор, пока сама ссылка на фантом не будет очищена. Мой вопрос: какой цели служит эта функция (объект…
17 сен '08 в 07:06
4
ответа
Понимание справочных классов Java: SoftReference, WeakReference и PhantomReference
Может кто-нибудь объяснить разницу между тремя ссылочными классами (или опубликовать ссылку на хорошее объяснение)? SoftReference > WeakReference > PhantomReference, но когда я буду использовать каждый? Почему есть WeakHashMap но нет SoftHashMap или…
25 июл '10 в 15:08
4
ответа
$n = 2; 10-$n = 87
Ну это то, что я делаю: $total = (array_sum($odds))+$evens; $total = str_split($total); echo 'total[1]: '.$total[1].'<br />'; echo '10-$total[1]: ' . (10-($total[1])); и вывод: total[1]: 2 10-$total[1]: 87 я думаю, что это рассматривается как …
14 июл '10 в 08:56
4
ответа
Есть ли способ переработать сложный объект Java, как только GC решил, что он недоступен
В C++ я использую объекты с подсчетом ссылок для реализации "автоматической" рециркуляции пула объектов SmartPointer<ObjType> object = pool.getObject(); // hold reference // ... do stuff with object over time. object = nullptr; // that is when…
09 янв '12 в 20:04
2
ответа
Когда PhantomReference/SoftReference/WeakReference ставится в очередь, как вы узнаете, на что он ссылается?
Я не использовал PhantomReferences. Кажется, очень мало хороших примеров реального использования. Когда фантом появляется в вашей очереди, как вы узнаете, какой это был объект? Метод get() кажется бесполезным. Согласно JavaDoc, Поскольку референт фа…
08 окт '11 в 01:45