Como finalize () funciona em java?

Então, descobri recentemente o método finalize em Java (não sei por que o perdi antes, mas aí está). Este parece como se fosse a resposta para muitos dos problemas com os quais estou trabalhando, mas queria obter um pouco mais de informações primeiro.

Online, encontrei este diagrama ilustrando o processo de coleta de lixo e finalizei:

Um par de perguntas:

Isso ocorre em um segmento separado, correto?O que acontece se eu instanciar um novo objeto durante a finalização? Isso é permitido?O que acontece se eu chamar um método estático de finalizar?O que acontece se eu estabelecer uma nova referência ao objeto de dentro de finalizar?

Suponho que devo explicar por que estou interessado. Eu trabalho muito com o LWJGL e parece que se eu pudesse usar o finalize para fazer com que os objetos Java limpassem automaticamente os recursos do OpenGL, então eu poderia fazer algumas coisas realmente boas em termos de uma AP

questionAnswers(6)

yourAnswerToTheQuestion