Java 定时任务可以用Timer + TimerTask来做,或者使用ScheduledExecutorService,使用ScheduledExecutorService有两个好处: 1. 如果任务执行时间过长,TimerTask会出现延迟执行的情况.比如,第一任务在1000ms执行了4000ms,第二个任务定时在2000ms开始执行.这里由于第一个任务要执行4000,所以第二个任务实际在5000ms开始执行.这是由于Timer是单线程,且顺序执行提交的任务 2. 如果执行任务抛出异常,Ti