news 2026/9/3 4:42:41

在java开发中,cron表达式概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在java开发中,cron表达式概念

在 Java 开发中,cron 表达式(Cron Expression)是一种时间规则字符串,用来定义“什么时候执行任务”。
它最初来自 Unix 的cron定时器,后来被 Spring、Quartz、ScheduledThreadPoolExecutor 等 Java 调度框架直接借用,成为事实标准。


1. 格式(6 或 7 段,空格分隔)

含义取值范围允许的特殊符
1秒(Spring/Quartz 支持)0–59, - * /
20–59, - * /
30–23, - * /
41–31, - * / L W C
51–12 或 JAN–DEC, - * /
6星期0–7(0 和 7 都是周日)或 SUN–SAT, - * / L # C
7年(可选,Quartz 支持)1970–2099, - * /

Spring 的@Scheduled默认6 段秒 分 时 日 月 星期
Linux 原生crontab只有5 段分 时 日 月 星期


2. 常用示例(Spring 6 段)

表达式含义
0 0 2 * * *每天凌晨 2 点
0 30 9 * * MON-FRI工作日早上 9:30
0 */10 * * * *每 10 秒一次
0 0 0 1 * *每月 1 号零点
0 0 22 * * 1-5周一到周五晚上 10 点
0 0 8 L * *每月最后一天上午 8 点
0 0 8 * * 1#1每月第一个周一上午 8 点

3. 在 Java 中的使用场景

  1. Spring 原生

    @Scheduled(cron = "0 15 10 * * *") public void report() { ... }
  2. Quartz

    CronScheduleBuilder.cronSchedule("0 30 9 ? * MON-FRI")
  3. 验证/解析工具

    • org.springframework.scheduling.support.CronExpression(Spring 5.3+)
    • org.quartz.CronExpression

4. 快速记忆口诀

秒 分 时 日 月 星期
从左到右,空格分隔;
*表示“每”,,列举,-区间,/步长;
L最后,#第几,W工作日。


5. 在线生成/验证工具

  • https://cron.qqe2.com
  • https://crontab.guru

一句话总结:
cron 表达式就是 Java 世界里描述“什么时候跑任务”的“时间正则”——写对 6 段,任务按时跑。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 23:41:05

基于ssm+vue的景区售票系统[ssm]-计算机毕业设计源码+LW文档

摘要:随着旅游业的蓬勃发展,景区售票管理面临着效率低、易出错、用户体验不佳等诸多挑战。为了提高景区售票管理的效率和服务质量,本文设计并实现了基于SSM(Spring、SpringMVC、MyBatis)后端框架与Vue前端框架的景区售…

作者头像 李华
网站建设 2026/9/2 23:07:06

【Python毕设源码分享】基于Python的医疗预约与诊断系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/9/3 0:02:13

Java版LeetCode热题100之组合总和:回溯算法与剪枝优化的深度解析

Java版LeetCode热题100之组合总和:回溯算法与剪枝优化的深度解析 摘要:本文将深入剖析 LeetCode 热题 100 中的经典回溯问题——组合总和(Combination Sum)。我们将从题目出发,系统讲解回溯算法的核心思想、递归结构设…

作者头像 李华