NIO: 面向缓存; 非阻塞的; selector缓存
IO: 面向流; 阻塞的; 无异步
Java IO: Reading data from a blocking stream.spa
Java IO: A classic IO server design - one connection handled by one thread.线程
Java NIO: Reading data from a channel until all needed data is in buffer.server
Java NIO: A single thread managing multiple connections.blog
Java NIO.2的主要表现为增长了Files、Path、Paths等功能类和基于异步Channel的IO事件
NIO的优点:
1.优点在于一个线程管理多个通道;可是数据的处理将会变得复杂;
2.若是须要管理同时打开的成千上万个链接,这些链接每次只是发送少许的数据,采用这种;
传统IO的优点:
1.适用于一个线程管理一个通道(链接)的状况;由于其中的流数据的读取是阻塞的;
2.若是须要管理同时打开不太多的链接,这些链接会发送大量的数据;ip
NIO vs IO之间的理念上面的区别(NIO将阻塞交给了后台线程执行)get
NIO同步