青岛做门户网站的,网站建站怎么分前端和后端,简洁印象wordpress企业主题,wordpress最新更新列表页面1.BIO BIO#xff1a;是传统的javaIO以及部分java.net下部分接口和类。例如#xff0c;socket,http等#xff0c;因为网络通信同样是IO行为。传统IO基于字节流和字符流进行操作。提供了我们最熟悉的IO功能#xff0c;譬如基于字节流的InputStream 和OutputStream.基于字符流…1.BIO BIO是传统的javaIO以及部分java.net下部分接口和类。例如socket,http等因为网络通信同样是IO行为。传统IO基于字节流和字符流进行操作。提供了我们最熟悉的IO功能譬如基于字节流的InputStream 和OutputStream.基于字符流的Reader和Writer. 特点在IO执行的两个阶段都被阻塞住。优点代码简单直观。缺点IO的效率扩展性存在瓶颈。同步。阻塞
2.NIO NIO 是一种同步非阻塞的 I/O 模型在 Java 1.4 中引入了 NIO 框架对应 java.nio 包提供了 Channel , SelectorBuffer 等抽象。NIO 中的 N 可以理解为 Non-blocking不单纯是 New。它支持面向缓冲的基于通道的 I/O 操作方法。 NIO 提供了与传统 BIO 模型中的 Socket 和 ServerSocket 相对应的 SocketChannel 和 ServerSocketChannel 两种不同的套接字通道实现,两种通道都支持阻塞和非阻塞两种模式。阻塞模式使用就像传统中的支持一样比较简单但是性能和可靠性都不好非阻塞模式正好与之相反。对于低负载、低并发的应用程序可以使用同步阻塞 I/O 来提升开发速率和更好的维护性对于高负载、高并发的网络应用应使用 NIO 的非阻塞模式来开发. 特点程序需要不断的去询问内核是否已经准备好第一阶段非阻塞第二阶段阻塞。
NIO的核心是Channels ,buffers, Selectors.基本上所有的IO在NIO都是从一个Channels开始。 Selector:允许单线程处理多个Channel NIO的底层使用了操作系统的多路复用。 优点是单线程可以处理多个网络IO. (1)问题select,poll,epoll的区别 Select有最大链接数的限制因为其使用的是数组poll没有使用的是链表
3.AIO 4.BIO,NIO,AIO分析 BIO适用于连接数比较小且固定的架构。这种方式对服务器资源要求比较高。是1.4以前的唯一选择直观简单容易理解。 NIO适用于连接数目多且连接比较短的架构。比如聊天服务器编程比较复杂。 AIO适用于连接数目多且连接比较长的架构。比如相册服务器Jdk7以后才支持。