ScheduledExecutorService.shutdown()与ScheduledExecutorService.shutdownNow()有什么区别?

我的理解是shutdownNow会立刻停止线程且后面的代码不被执行。
shutdown()执行完本次方法就结束线程。但是我通过实验发现,两者都是执行完之后再结束的。

图片说明

后面的if都会被调用。请正确的理解应该是怎么样的?shutdown与shutdownNow有什么样的区别?