如何做单网页网站,做铝材哪些网站招聘,网站短信验证怎么做的,吉林省级建设行政主管部门政务网站NIO主要用于以少量线程来管理多个网络连接#xff0c;处理其上的读写等事件。在大量连接情况下#xff0c;不管是效率还是空间占用都要优于传统的BIO。 Java NIO 由以下几个核心部分组成#xff1a; Channel Buffer Selector Selector 如果你的应用打开了多个连接#x…NIO主要用于以少量线程来管理多个网络连接处理其上的读写等事件。在大量连接情况下不管是效率还是空间占用都要优于传统的BIO。 Java NIO 由以下几个核心部分组成 Channel Buffer Selector Selector 如果你的应用打开了多个连接通道但每个连接的流量都很低使用Selector就会很方便。例如在一个聊天服务器中。
这是在一个单线程中使用一个Selector处理3个Channel的图示 要使用Selector得向Selector注册Channel然后调用它的select()方法。这个方法会一直阻塞到某个注册的通道有事件就绪。
一旦这个方法返回线程就可以处理这些事件事件的例子有如新连接进来数据接收等。 Channel 和 Buffer 基本上所有的 IO 在NIO 中都从一个Channel 开始。数据可以从Channel读到Buffer中也可以从Buffer 写到Channel中。 JAVA NIO中里Channel的主要实现 FileChannel文件IO DatagramChannelUDP SocketChannel客户端Socket ServerSocketChannel服务端Socket
Java NIO里Buffer的主要实现 ByteBuffer CharBuffer DoubleBuffer FloatBuffer IntBuffer LongBuffer ShortBuffer
这些Buffer覆盖了通过IO发送的基本数据类型byte, short, int, long, float, double 和 char。