Проверить наличие изменений в алгоритме работы методов select и selectNow в Selector

В Java версий ниже 11 был предусмотрен API java.nio.channels.Selector, позволяющие переопределить предыдущую информацию о готовности при использовании java.nio.channels.Selector.selectNow() или java.nio.channels.Selector.select(). Согласно спецификации, метод java.nio.channels.Selector.selectNow() должен был удалять аннулированные ключи, однако в версиях Java ниже 11 он не делал этого.

Согласно спецификации, информация о готовности не должна переопределяться и должна храниться вплоть до вызова метода java.nio.channels.Selector.selectNow() или java.nio.channels.Selector.clear() для удаления аннулированных ключей. В Java 11 принцип работы был приведен в соответствие со спецификацией, поэтому при наличии кода, написанного для обхода существовавшей раньше ошибки, могут потребоваться изменения.

За дополнительной информацией о классе java.nio.channels.Selector обратитесь к документации Java по классу java.nio.channels.Selector.

Дополнительную информацию об изменениях в JDK 11 можно найти в публикации JDK 11: информация о выпуске.