NIO实现多线程读取的参考

NIO缺点:
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。

1、NIO 基础
http://tenyears.iteye.com/blog/40489

2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/

3、传输对象
先将对象序列号,然后再客户端反序列化

server端:

Map map = new HashMap();
ByteArrayOutputStream bo = new ByteArrayOutputStream();
try
{
ObjectOutputStream os = new ObjectOutputStream(bo);
os.writeObject(map);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}


客户端

//buffer来自于NIO接收的数据
ByteArrayInputStream bi = new ByteArrayInputStream(buffer);
ObjectInputStream oi = new ObjectInputStream(bi);
Map map = (Map)oi.readObject();

你可能感兴趣的:(java网络通信(rmi,hessian,nio...))