Определенные объекты в системе AWT требуют завершения для освобождения ресурсов. Наиболее ярким примером является java.awt.Windows
, которому необходимо утилизировать собственные ресурсы после того, как окно будет собрано для мусора.
Можно сделать это с помощью финализаторов, но решение, которое дает вам более подробный контроль, заключается в использовании фантомных ссылок с ссылочной очередью. Для этого решения требуется выделенный поток, который ожидает в очереди ссылок. Этот поток является потоком "Java 2D disposer", он создается при инициализации системы AWT.