1. 程式人生 > >【對線面試官】Java NIO

【對線面試官】Java NIO

![](https://tva1.sinaimg.cn/large/0081Kckwly1gm2ibfwu39j30ku112dk0.jpg) ![](https://tva1.sinaimg.cn/large/0081Kckwly1gm2if0fr9nj30ku112wj8.jpg) ![](https://tva1.sinaimg.cn/large/0081Kckwly1gm2igjspsmj30ku112jwk.jpg) ![](https://tva1.sinaimg.cn/large/0081Kckwgy1gm2ihvp3qvj30ku112n4k.jpg) ![](https://tva1.sinaimg.cn/large/0081Kckwgy1gm2ik8fbryj30ku11279k.jpg) 服務端: ```java public class NoBlockServer { public static void main(String[] args) throws IOException { // 1.獲取通道 ServerSocketChannel server = ServerSocketChannel.open(); // 2.切換成非阻塞模式 server.configureBlocking(false); // 3. 繫結連線 server.bind(new InetSocketAddress(6666)); // 4. 獲取選擇器 Selector selector = Selector.open(); // 4.1將通道註冊到選擇器上,指定接收“監聽通道”事件 server.register(selector, SelectionKey.OP_ACCEPT); // 5. 輪訓地獲取選擇器上已“就緒”的事件--->只要select()>0,說明已就緒 while (selector.select() > 0) { // 6. 獲取當前選擇器所有註冊的“選擇鍵”(已就緒的監聽事件)