O método finalize() deve ser evitado na implementação de uma classe Java, pois
-
A os dados declarados nesse método se tornam lixo de memória e não podem ser recuperados pelo coletor de lixo.
-
B o coletor de lixo chama, automaticamente, o método close() para liberar a memória alocada por todas as classes e ele deve ser utilizado.
-
C quando o método é chamado, o programa termina de forma anormal.
-
D não há garantias quando o método será chamado pela JVM.
-
E esse método é chamado pelo coletor de lixo após a memória alocada pelo objeto ter sido reivindicada.