Junior — Middle
Pode explicar o que acontece ao chamar o método finalize em Java e em que casos ele é chamado?
sobes.tech IA
Resposta da IA
No Java, o método finalize() é chamado pelo coletor de lixo antes de remover um objeto da memória. A sua tarefa é libertar recursos que não são geridos pela JVM, como fechar ficheiros ou ligações de rede.
No entanto, a chamada a finalize() não é garantida e pode ocorrer com atraso ou não ocorrer de todo, pelo que não é recomendado confiar nela para libertar recursos.
Exemplo de uso:
@Override
protected void finalize() throws Throwable {
try {
// Libertar recursos
} finally {
super.finalize();
}
}
Nas versões modernas do Java, recomenda-se usar construções try-with-resources ou fechar explicitamente os recursos, em vez de confiar em finalize().