Я читаю о G1 GC, и есть процессы, называемые «Обработка эталонов» и «Эталонный Enq» как в этапах цикла сбора Янга, так и в цикле параллельной маркировки. Что это за процессы? Что там произойдет?
Что такое обработка ссылок в процессе сборки мусора
Ответы (1)
Обработка ссылок — это этап, предназначенный для обработки объектов специальных ссылок (например, слабых ссылок, финализаторов, ссылок JNI).
Специальные ссылки имеют два важных аспекта
- они могут иметь особую семантику в отношении достижимости объекта (например, слабые ссылки)
- эталонный объект может потребоваться добавить в эталонную очередь в результате работы GC
Во время обычной фазы GC эталонный объект находится в очереди на постобработку.
Фаза «Ref Proc» начинается после основной фазы GC, поэтому известно, какие объекты сохранились, а какие нет, поэтому можно применить эталонную семантику.
«Ref Enq» выполняется позже, чтобы поместить ссылку в очереди ссылок (очередь ссылок — это объект Java в куче, обычно используемый для реализации шаблонов, разрешенных специальными ссылками).
person
Alexey Ragozin
schedule
02.07.2019
ReferenceQueue
, чтобы приложения, активно использующие эту функцию, могли узнать, что объект стал недоступным. Сборщик мусора не обрабатывает очередь. - person Holger   schedule 03.07.2019