Cada objeto utiliza recursos do sistema, como memória. Preci...
Sobre coleta de lixo em Java, analise os itens a seguir:
I. Vazamentos de recursos, além de vazamentos de memória, também podem ocorrer. Por exemplo, um aplicativo pode abrir um arquivo no disco para modificar seu conteúdo — se o aplicativo não fechar o arquivo, ele deve terminar antes que qualquer outro aplicativo possa usar o arquivo.
Il. É recomendado utilizar o método finalize, para garantir a liberação dos recursos.
IIl. Objetos AutoClosable reduzem a probabilidade de vazamentos de recursos ao usá-los com a instrução try com recursos.
Conforme Deitel (2017), está correto o que se afirma em:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: D
Fundamento decisivo: A documentação de Java não garante a execução oportuna de finalize(), contrariando a recomendação expressa em II. Interpretados o exemplo de I como situação particular e AutoClosable como AutoCloseable, o conjunto válido é I e III, correspondente à alternativa D.
- Separe recuperação de memória de liberação de recursos externos: uma não substitui a outra.
- Rejeite garantias de liberação baseadas em finalize(); o problema é a ausência de garantia, não a impossibilidade absoluta de execução.
- Ao identificar AutoCloseable, verifique se o recurso está declarado no try-with-resources: é esse gerenciamento que chama close() automaticamente.
- Diferencie redução de risco de eliminação de risco: try-with-resources chama close(), mas a operação de fechamento pode falhar.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo