According to this passage, IO Multiplexing can work with file descriptors in both blocking and non-blocking mode:
And non-blocking mode is only needed to cooperate with edge-triggered mode:
What's more, according to this answer, Java NIO works in lever-triggered mode.
Then why Java NIO Selector requires the channel to be in the non-blocking mode:
Thanks to your reply in advance.