Existe um destruidor para Java? Parece que não consigo encontrar nenhuma documentação sobre isso. Se não houver, como posso obter o mesmo efeito?
Para tornar minha pergunta mais específica, estou escrevendo um aplicativo que lida com dados e as especificações dizem que deve haver um botão 'redefinir' que traga o aplicativo de volta ao seu estado original recém-lançado. No entanto, todos os dados precisam estar "ativos", a menos que o aplicativo seja fechado ou o botão de redefinição seja pressionado.
Sendo geralmente um programador de C / C ++, achei que isso seria trivial de implementar. (E, portanto, planejei implementá-lo por último.) Estruturei meu programa de forma que todos os objetos 'redefiníveis' estivessem na mesma classe para que eu pudesse destruir todos os objetos 'ativos' quando um botão de redefinição foi pressionado.
Eu estava pensando se tudo o que fiz foi apenas desreferenciar os dados e aguardar o coletor de lixo coletá-los. Não haveria vazamento de memória se meu usuário digitasse repetidamente os dados e pressionasse o botão de reset? Eu também estava pensando que, como o Java é bastante maduro como linguagem, deve haver uma maneira de impedir que isso aconteça ou resolver isso com graça.