spring task 修改系统时间 执行问题

场景是这样的: 写了个定时任务每天凌晨一点执行。
一种情况是修改系统时间距离到凌晨一点差几分钟,跑项目。到点了定时任务执行。
第二种情况是先跑项目在改系统时间,这种情况定时任务不执行。

简单的了解下加个人的理解是:在项目跑起来的时候spring去记录当前系统的时间,
起一个线程,计算当前时间到下一次执行的时间,现在这这段时间处于等待。到了时间
唤醒线程执行job。

请教大神们,个人理解是否有误?

为什么不用scheduledExecutorService呢?
ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(task, 10, 86400, SECONDS);