Sobes.tech
Junior — Middle

Em que situações é recomendado usar o método finalize em Java?

sobes.tech IA

Resposta da IA

O método finalize() em Java destina-se a realizar limpeza antes de o objeto ser eliminado pelo coletor de lixo. No entanto, seu uso não é recomendado, pois:

  • A chamada de finalize() não é garantida e pode ser adiada ou não ocorrer de todo.
  • Isso pode levar a comportamentos imprevisíveis e problemas de desempenho.

Recomenda-se usar finalize() apenas em casos extremos, quando não for possível liberar recursos de outra forma, por exemplo, ao trabalhar com recursos nativos. Em vez de finalize(), é melhor usar a interface AutoCloseable e blocos try-with-resources para gerenciar recursos explicitamente.

Exemplo de uso de try-with-resources:

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    // trabalho com o arquivo
} catch (IOException e) {
    e.printStackTrace();
}
// recurso fechado automaticamente