色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java nio和mina

Java NIO和Apache Mina都是用來(lái)處理網(wǎng)絡(luò)通信的庫(kù)。

Java NIO

Java NIO是Java非阻塞輸入輸出庫(kù)的簡(jiǎn)稱。它允許使用單線程處理多個(gè)連接,以此提升性能和效率。傳統(tǒng)的阻塞輸入輸出處理方式是使用多線程,每個(gè)連接都需要獨(dú)立的線程。在同一時(shí)刻,單線程只能處理一個(gè)請(qǐng)求,而多線程就會(huì)創(chuàng)建大量的線程,導(dǎo)致系統(tǒng)開銷巨大。

最近的Java版本(1.7及以上)已經(jīng)包含Java NIO的相關(guān)類庫(kù)。在Java NIO中,數(shù)據(jù)通過(guò)管道、選擇器和緩沖區(qū)處理。

selector = Selector.open();
while(true){
selector.select();
Iterator<SelectionKey> keyItor = selector.selectedKeys().iterator();
while (keyItor.hasNext()) {
SelectionKey key = keyItor.next();
if(key.isReadable()) {
data = socket.getInputStream();
} else if (key.isWritable()) {
data = socket.getOutputStream();
}
data.close();
}
}

Apache Mina

Apache Mina是一個(gè)開源的網(wǎng)絡(luò)應(yīng)用程序框架。它可以用來(lái)構(gòu)建高效的高擴(kuò)展性的服務(wù)器和客戶端應(yīng)用程序。Apache Mina具有很好的多線程處理能力,同時(shí)還提供了許多高級(jí)協(xié)議、編碼和解碼器,使其更易于使用。

// 創(chuàng)建一個(gè)處理器
public class MyServerHandler extends IoHandlerAdapter {
public void messageReceived(IoSession session, Object message) {
// 接收到消息
}
}
// 運(yùn)行服務(wù)器
NioSocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.setHandler(new MyServerHandler());
acceptor.bind(new InetSocketAddress(8080));

總體來(lái)說(shuō),Java NIO和Apache Mina都是很好的處理網(wǎng)絡(luò)通信的庫(kù),選擇哪一個(gè)依賴于應(yīng)用需求。