java定时任务

1.使用jdk 自带的timer和timerTask(实现了runable 接口的抽象类,自己写的timerTask需要继承它)
2.使用spring 自带的Task ,可以基于通过XML配置和基于注解的方式任选一种进行开发
3.spring 自带的Task 中提到Cron 注解,(秒 分 时 dayOfMonth month dayOfWeek year(可选)),注意这个中间是没有逗号的,他们使用空格隔开的,如果使用逗号隔开,表示该字段有多个值。
例如:
在26分、29分、33分执行一次:0 26,29,33 * * * ?

每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

Cron表达式的格式:秒 分 时 日 月 周 年(可选)。

           字段名                 允许的值                        允许的特殊字符  
           秒                         0-59                               , - * /  
           分                         0-59                               , - * /  
           小时                     0-23                               , - * /  
           日                         1-31                               , - * ? / L W C  
           月                         1-12 or JAN-DEC         , - * /  
           周几                     1-7 or SUN-SAT           , - * ? / L C #  
           年 (可选字段)     empty, 1970-2099      , - * /



           “?”字符:表示不确定的值(通常用在 day of week 字段上)

           “,”字符:指定多个个值

           “-”字符:指定一个值的范围

           “/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m

           “L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X

           “W”字符:指定离给定日期最近的工作日(周一到周五)

           “#”字符:表示该月第几个周X。6#3表示该月第3个周五

你可能感兴趣的:(java定时任务)