Die folgenden Klassen werden von dieser Regel markiert:
java.nio.channels.SocketChanneljava.nio.channels.ServerSocketChanneljava.nio.channels.DatagramChanneljava.nio.channels.Pipe.SourceChanneljava.nio.channels.Pipe.SinkChannelVor Java 11 verwenden blockierende und nicht blockierende E/A-Operationen denselben Codepfad in den zuvor aufgelisteten Klassen. Diese Implementierung verringert die E/A-Geschwindigkeit und führt zu einer verminderten Zuverlässigkeit. Diese Änderung zieht verschiedene Verhaltensänderungen nach sich:
java.nio.channels.SocketChannel und java.nio.channels.ServerSocketChannel verzögern jetzt das Schließen
der zugrunde liegenden Verbindungen, bis die registrierten Selektoren aus dem schließenden Kanal gelöscht wurden.
Wenn Sie diese Klassen zusammen mit der
netstat-Netzüberwachung verwenden, werden Sie eine Verhaltensänderung bemerken, die sich auf andere Bibliotheken und Anwendungsauswahloperationen auswirkt. configureBlocking(false) in einem auswählbaren Kanal wird die Methode so lange blockiert, bis alle blockierenden E/A-Operationen beendet sind.Weitere Informationen finden Sie in den folgenden Dokumenten:
Weitere Informationen zu den Verhaltensänderungen in Java 11 finden Sie auf der Seite Removed APIs in JDK 11.