Ta reguła oznacza następujące klasy:
java.nio.channels.SocketChanneljava.nio.channels.ServerSocketChanneljava.nio.channels.DatagramChanneljava.nio.channels.Pipe.SourceChanneljava.nio.channels.Pipe.SinkChannelPrzed wprowadzeniem środowiska Java 11 blokujące i nieblokujące operacje we/wy korzystały z tej samej ścieżki kodu w powyższych klasach. Taki sposób implementacji spowalniał szybkość wykonywania operacji we/wy oraz zmniejszał niezawodność. Ta zmiana wprowadza wiele zmian w działaniu:
java.nio.channels.SocketChannel i java.nio.channels.ServerSocketChannel będą opóźniały zamknięcie własnych połączeń bazowych do momentu
usunięcia (flush) zamykanego kanału z jego zarejestrowanych selektorów. W przypadku korzystania z tych klas wraz z monitorowaniem sieci netstat można będzie zauważyć zmianę w działaniu,
która wpływa na inne biblioteki i operacje wyboru aplikacji.configureBlocking(false) na kanale możliwym do wybrania zostanie on zablokowany do momentu zakończenia wszystkich blokujących operacji we/wy.Więcej informacji zawierają następujące zasoby:
Więcej informacji na temat zmiany w działaniu w środowisku Java 11 zawiera strona dotycząca interfejsów API usuniętych z pakietu JDK 11.