Agendamento de Tarefa em Java

Olá gente!

Sou novo na programação em Java e estou aprendendo tudo na prática, queria fazer um sistema de agendar para uma certa hora do dia meu sistema executar uma tarefa, já vi sobre TimerTask, Timer e SES. Me falaram que esses métodos em uma forma super leiga, apenas consultam a cada segundo se já é a hora de executar sua tarefa, caso seja algo perto disso, gostaria de saber se não existe uma forma mais eficiente/otimizada de fazer isso.

Obrigado!

É possivel utilizar EJB Schedule para isso.

Nesse tópico eu postei como faz. Da uma olhada