Este assunto é muito velho e a maioria dos desenvolvedores java mais antigos devem saber. Resolvi postar isso aqui porque simplesmente precisei disso, demorei um pouco para encontrar e quando encontrei achei apenas artigos em inglês. Eu não tenho problemas com isso, mas algumas pessoas podem sentir falta de um texto em português.
A classe
Runtime oferece um método chamado
addShutdownHook, que recebe uma Thread como parâmetro. Dito isso, é importante fazer algumas colocações:
- O shutdown hook é acionado sempre que a execução do programa é finalizada. Naturalmente ou através do desligamento da jvm ou computador;
- É possível registrar vários hooks.
- Uma vez registrado, o hook pode ser "desregistrado".
Pronto, agora sempre que eu precisar posso ler isso aqui. Obrigado eu do passado.