Под "выпущенным" я подразумеваю, что не осталось никаких ссылок на загрузчик классов.
Мы сталкиваемся с проблемой, когда часто повторно развертываемое приложение Java EE съедает постоянное пространство. Анализ показывает, что синглтон в приложении Java EE передал ссылки на объекты загрузчика классов приложения за пределами приложения (в нарушение правил Java EE) и не очищает их, когда приложение не развернуто.
Предполагая, что не осталось других ссылок на синглтон или объект класса, будет ли вызываться finalize () синглтона, когда будет выпущен загрузчик классов его класса? Я бы хотел удалить там нечестные встроенные ссылки.Или я нахожусь в ловушке-22, где finalize не будет вызван до тех пор, пока сам загрузчик классов не будет обработан сборщиком мусора - и, следовательно, никогда не будет вызван из-за мошеннических внешних ссылок?
Главный вопрос здесь, возможно, таков:
Будет ли объект класса собираться мусором в этом случае, когда его загрузчик классов еще не может быть? Это может зависеть от спецификации поведения загрузчика классов, или может быть зависит от реализации.
Ссылки (иного рода! ;-)) приветствуются, но в них нет необходимости.