Existe-t-il un destructeur pour Java? Je ne semble pas pouvoir trouver de documentation à ce sujet. S'il n'y en a pas, comment puis-je obtenir le même effet?
Pour rendre ma question plus précise, j'écris une application qui traite des données et la spécification dit qu'il devrait y avoir un bouton 'reset' qui ramène l'application à son état d'origine qui vient d'être lancé. Cependant, toutes les données doivent être «en direct» sauf si l'application est fermée ou si le bouton de réinitialisation est enfoncé.
Étant habituellement un programmeur C / C ++, j'ai pensé que ce serait trivial à implémenter. (Et donc j'ai prévu de l'implémenter en dernier.) J'ai structuré mon programme de telle sorte que tous les objets `` pouvant être réinitialisés '' soient dans la même classe afin que je puisse simplement détruire tous les objets `` vivants '' lorsqu'un bouton de réinitialisation est enfoncé.
Je pensais que si je ne faisais que déréférencer les données et attendre que le garbage collector les recueille, n'y aurait-il pas une fuite de mémoire si mon utilisateur saisissait des données à plusieurs reprises et appuyait sur le bouton de réinitialisation? Je pensais également que Java étant assez mature en tant que langage, il devrait y avoir un moyen d'empêcher cela de se produire ou de le résoudre avec élégance.