此规则将标记以下类:
java.nio.channels.SocketChanneljava.nio.channels.ServerSocketChanneljava.nio.channels.DatagramChanneljava.nio.channels.Pipe.SourceChanneljava.nio.channels.Pipe.SinkChannel在 Java 11 之前,在先前列出的类中,非阻止和阻止 I/O 操作使用了相同的代码路径。此实现降低了 I/O 速度和可靠性。这一更改导致了多个行为更改:
java.nio.channels.SocketChannel 和 java.nio.channels.ServerSocketChannel 类现在会延迟关闭其底层连接,直至从其注册的选择器中清空关闭通道。如果与 netstat 网络监控功能一起使用,那么您会注意到一个将影响其他库和应用程序选择操作的行为更改。configureBlocking(false) 时,它将执行阻止直至完成所有阻止 I/O 操作。有关更多信息,请参阅:
有关 Java 11 中的行为更改的更多信息,请参阅 Removed APIs in JDK 11 页面。