NIO缺点:
NIO服务器端是在一个线程下运行,当有多个请求时,将会排队操作,但进行大并发量大数据量读写时,会导致其他请求无法处理,因此考虑将NIO的读写单独用线程处理。
1、NIO 基础
http://tenyears.iteye.com/blog/40489
2、NIO多线程实现
http://www.ibm.com/developerworks/cn/java/l-niosvr/
3、传输对象
先将对象序列号,然后再客户端反序列化
server端:
客户端
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();

本文探讨了NIO技术的优点与局限性,特别是针对高并发场景下的处理瓶颈。为解决这些问题,文章介绍了使用多线程来提高NIO处理效率的方法,并给出了基于NIO的传输对象序列化和反序列化的示例。
13万+

被折叠的 条评论
为什么被折叠?



