网络编程 -- RPC实现原理 -- 目录

  啦啦啦

V1——设置标识变量selectionKey.attach(true);只处理一次(会一直循环遍历selectionKeys,占用CPU资源)。

(由于key没有清除,依旧在selectionKeys中存在,遍历时依旧会检测到对应事件,除非socket关闭或调用selectionKey.cancel();清除对应事件)

  Class : Service

package lime.pri.limeNio.optimize.socket2;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;
import java.util.Iterator;
import java.util.Set; public class Service { public static void main(String[] args) throws IOException, InterruptedException {
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocketChannel.bind(new InetSocketAddress(9999));
serverSocketChannel.configureBlocking(false);
Selector selector = Selector.open();
serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);
while (true) {
System.out.println(Thread.currentThread() + " 监听端口@9999,等待客户端连接...");
int n = selector.select();
System.out.println(Thread.currentThread() + " 事件就绪通道个数 : " + n);
Set<SelectionKey> selectedKeys = selector.selectedKeys();
Iterator<SelectionKey> iterator = selectedKeys.iterator();
while (iterator.hasNext()) {
SelectionKey selectionKey = iterator.next();
iterator.remove();
if (selectionKey.isValid() && selectionKey.isAcceptable()) {
System.out.println(Thread.currentThread() + " -- -- -- 处理Acceptable事件");
ServerSocketChannel ssc = (ServerSocketChannel) selectionKey.channel();
SocketChannel sc = ssc.accept();
sc.configureBlocking(false);
sc.register(selector, SelectionKey.OP_READ);
} else if (selectionKey.isValid() && selectionKey.isReadable()) {
if (null == selectionKey.attachment()) {
System.out.println(Thread.currentThread() + " -- -- -- 处理Readable事件");
selectionKey.attach(true);
RequestProcessor.proceess(selectionKey, selector);
}else{
System.out.println(Thread.currentThread() + " -- -- -- IO Readable 处理中...");
}
} else if (selectionKey.isValid() && selectionKey.isWritable()) {
if (null == selectionKey.attachment()) {
System.out.println(Thread.currentThread() + " -- -- -- 处理Writable事件");
selectionKey.attach(true);
ResponseProcessor.proceess(selectionKey, selector);
}else{
System.out.println(Thread.currentThread() + " -- -- -- IO Writable 处理中...");
}
}
}
}
}
}

  Class : RequestProcessor

package lime.pri.limeNio.optimize.socket2;

import java.io.ByteArrayOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; public class RequestProcessor { private static ExecutorService exec = Executors.newFixedThreadPool(5); public static void proceess(final SelectionKey selectionKey, final Selector selector) {
exec.submit(new Runnable() { public void run() {
try {
ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
byteBuffer.clear();
SocketChannel sc = (SocketChannel) selectionKey.channel();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while(sc.read(byteBuffer) != -1){
bos.write(byteBuffer.array());
byteBuffer.clear();
}
System.out.println(Thread.currentThread() + " 客户端( " + sc.getRemoteAddress() + " ) 请求 : " + bos.toString());
sc.register(selector, SelectionKey.OP_WRITE);
} catch (Exception e) {
}
}
});
} }

  Class : ResponseProcessor

package lime.pri.limeNio.optimize.socket2;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.nio.channels.SocketChannel;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; public class ResponseProcessor { private static ExecutorService exec = Executors.newFixedThreadPool(5); public static void proceess(final SelectionKey selectionKey, final Selector selector) {
exec.submit(new Runnable() { public void run() {
try {
String response = "服务端响应 : " + new Date().toString();
ByteBuffer byteBuffer = ByteBuffer.wrap(response.getBytes());
SocketChannel sc = (SocketChannel) selectionKey.channel();
sc.write(byteBuffer);
sc.close();
} catch (IOException e) {
}
}
});
} }

  Class : Client

package lime.pri.limeNio.optimize.socket2;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel; public class Client { public static void main(String[] args) throws IOException {
for (int i = 0; i < 10; i++) {
new Thread() {
@Override
public void run() {
try {
SocketChannel socketChannel = SocketChannel.open();
socketChannel.connect(new InetSocketAddress("127.0.0.1", 9999)); socketChannel.write(ByteBuffer.wrap("Query Date".getBytes()));
socketChannel.shutdownOutput(); ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
socketChannel.read(byteBuffer);
System.out.println(Thread.currentThread() + " " + new String(byteBuffer.array()));
socketChannel.close();
} catch (IOException e) {
}
} }.start();
}
}
}

  Console : Server

Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 6
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[pool-1-thread-1,5,main] 客户端( /127.0.0.1:4039 ) 请求 : Query Date
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[pool-1-thread-2,5,main] 客户端( /127.0.0.1:4038 ) 请求 : Query Date
Thread[pool-1-thread-3,5,main] 客户端( /127.0.0.1:4041 ) 请求 : Query Date
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[pool-1-thread-4,5,main] 客户端( /127.0.0.1:4037 ) 请求 : Query Date
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 7
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[pool-1-thread-5,5,main] 客户端( /127.0.0.1:4039 ) 请求 :
Thread[pool-1-thread-2,5,main] 客户端( /127.0.0.1:4036 ) 请求 : Query Date
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[pool-1-thread-3,5,main] 客户端( /127.0.0.1:4042 ) 请求 : Query Date
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[pool-1-thread-1,5,main] 客户端( /127.0.0.1:4036 ) 请求 :
Thread[main,5,main] 事件就绪通道个数 : 8
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[pool-1-thread-4,5,main] 客户端( /127.0.0.1:4043 ) 请求 : Query Date
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 9
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[pool-1-thread-5,5,main] 客户端( /127.0.0.1:4040 ) 请求 : Query Date
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[pool-1-thread-2,5,main] 客户端( /127.0.0.1:4044 ) 请求 : Query Date
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Acceptable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[pool-1-thread-3,5,main] 客户端( /127.0.0.1:4045 ) 请求 : Query Date
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Readable事件
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[pool-1-thread-1,5,main] 客户端( /127.0.0.1:4045 ) 请求 :
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- 处理Writable事件
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 10
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 2
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] -- -- -- IO Writable 处理中...
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] 监听端口@9999,等待客户端连接...
Thread[main,5,main] 事件就绪通道个数 : 1
Thread[main,5,main] 监听端口@9999,等待客户端连接...

  Console : Client

Thread[Thread-7,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-0,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-3,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-9,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-1,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-4,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-6,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-5,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-8,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017
Thread[Thread-2,5,main] 服务端响应 : Sat Jun 24 16:00:41 CST 2017

啦啦啦

网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V1的更多相关文章

  1. 网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V2

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——增加WriteQueue队列,存放selectionKey.addWriteEventToQueue()添加selectionKey并唤醒阻 ...

  2. 网络编程 -- RPC实现原理 -- NIO单线程

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 Class : Service package lime.pri.limeNio.optimize.socket; import java.io.B ...

  3. 网络编程 -- RPC实现原理 -- 目录

    -- 啦啦啦 -- 网络编程 -- RPC实现原理 -- NIO单线程 网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V1 网络编程 -- RPC实现原理 -- NIO多线程 -- ...

  4. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V1 -- 入门应用

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——Netty入门应用 Class : NIOServerBootStrap package lime.pri.limeNio.netty.ne ...

  5. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V2 -- 对象传输

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- 使用序列化和反序列化在网络上传输对象:需要实现 java.io.Serializable 接口 只能传输( ByteBuf ...

  6. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V3 -- 编码解码

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- pipeline.addLast(io.netty.handler.codec.MessageToMessageCodec ...

  7. 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V4 -- 粘包拆包

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- new LengthFieldPrepender(2) : 设置数据包 2 字节的特征码 new LengthFieldB ...

  8. 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V3 -- 远程方法调用 整合 Spring

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V3——RPC -- 远程方法调用 及 null的传输 + Spring 服务提供商: 1. 配置 rpc03_server.xml 注入 服务提供 ...

  9. 网络编程 -- RPC实现原理 -- RPC -- 迭代版本V4 -- 远程方法调用 整合 Spring 自动注册

    网络编程 -- RPC实现原理 -- 目录 啦啦啦 V4——RPC -- 远程方法调用 + Spring 自动注册 服务提供商: 1. 配置 rpc04_server.xml 注入 服务提供商 rpc ...

随机推荐

  1. Redis简单延时队列

    Redis实现简单延队列, 利用zset有序的数据结构, score设置为延时的时间戳. 实现思路: 1.使用命令 [zrangebyscore keyName socreMin socreMax] ...

  2. 用delphi制作无界面的activex控件

    首先,您要了解: •COM的基本原理 •能被网页调用的非可视ActiveX控件必须是一种至少实现了IOleObject接口的TAutoObject组件 •利用Delphi向导生成的ActiveX控件必 ...

  3. vcs+Makefile实现简单的testbench

    网络上找的文章,实现了一遍. 步骤如下: 1. 创建verilog代码, 包括8位加法器代码和testbench代码. adder8.v module adder8 ( input clk, inpu ...

  4. SSE图像算法优化系列一:一段BGR2Y的SIMD代码解析。

    一个同事在github上淘到一个基于SIMD的RGB转Y(彩色转灰度或者转明度)的代码,我抽了点时间看了下,顺便学习了一些SIMD指令,这里把学习过程中的一些理解和认识共享给大家. github上相关 ...

  5. linux下chmod使用

    用法 chmod使用语法 $ chmod [options] mode[,mode] file1 [file2 ...] 使用ls命令的查看文件或目录的属性 $ ls -l file 八进制语法 ch ...

  6. 后台任务hangfire

    Installation¶ There are a couple of packages for Hangfire available on NuGet. To install Hangfire in ...

  7. tmux 共享窗口大小

    http://www.cnblogs.com/bamanzi/p/tmux-share-windows-between-sessions.html

  8. Grails 第二课

    package helloworld import groovy.swing.SwingBuilder import java.awt.BorderLayout import groovy.swing ...

  9. fiddler抓包参数乱码的解决方法

    解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 4.右键新建,选字符串 ...

  10. 基于Centos搭建Django 环境搭建

    CentOS 7.2 64 位操作系统 安装 Django 先安装 PIP,再通过 PIP 安装 Django 安装 PIP cd /data; mkdir tmp; cd tmp; wget htt ...