Hoy voy a hablar de los programadores de tareas de Java. En concreto las clases Timer y TimerTask.
Hay algo que tengo muy claro: No me gustan los hilos ni la concurrencia, así que todo API / utilidad que me abstraiga de utilizar y tener en cuenta toda esa parafernalia es bien recibida, máxime para cuando es algo que no te tiene que requerir mucho tiempo y (nunca mejor dicho) quedarte bloqueado hasta terminarla.
Así que más adelante, se muestra un ejemplo de cómo manejar Timer y TimerTask para ejecutar una tarea: cada día a la misma hora, para ejecutar cada 'n' horas, o 'n' minutos, para ejecutarla una vez a una hora concreta o ejecutarla una vez pasado un tiempo. Y todo esto Thread-Worry-Free. Maravilloso.