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.