What does */5 mean?
Every fifth minute, counted from the start of the field: 0, 5, 10 and so on. A step stays within its field, so */90 runs at minute 0 only; for every ninety minutes, name the hours.
Why does it run on the wrong days with both day fields set?
Unix cron runs it when either field matches: 0 9 1 * MON runs on the first of every month and on every Monday. Spring wants both to match; Quartz and EventBridge refuse the line until one of the two is a ?.
What happens at a clock change?
An hour is skipped in spring and repeated in autumn. Linux cron runs a fixed-time job as soon as the clock jumps and once in the repeated hour; a job with * in its minute or hour runs by the clock, missing the gap and running twice. EventBridge skips it and runs it once.
Is 7 Sunday?
In Unix cron and Spring, 0 and 7 are both Sunday. Quartz and EventBridge count from 1: there 1 is Sunday and 7 Saturday, so the same fields can name another day elsewhere. The names SUN to SAT mean the same everywhere.