memória do objeto é liberada quando chamamos explicitamente finalize ()? [duplicado

Esta pergunta já tem uma resposta aqui:

Java e executando manualmente finalize 3 respostasuando o método finalize () é chamado em Jav 16 respostas

No que diz respeito ao meu entendimento finalize () e o GC são dois aspectos diferentes. O GC usa o método finalize () para liberar a memória do objeto. Não podemos afirmar quando o GC ocorrerá (mesmo se chamarmos explicitamente System.gc ()). Mas podemos chamar explicitamente finalize () em um Object.

Will the function be executed immediately(memory freed) or it waits till GC
occurs like System.gc() call?

Além disso, de acordo com os documentos, o método finalize nunca é chamado mais de uma vez por uma máquina virtual Java para qualquer objet

Então, o que acontece quando chamamos finalize () primeiro e o GC acontece em um momento posterio

If object memory is not freed on explicit call to object.finalize() then would't 
it being called again in the GC process violate the calling only once rule? 

questionAnswers(3)

yourAnswerToTheQuestion