声明:《NIO边看边记》系列的文章在学习NIO时,看到了并发编程网上有一个NIO系列教程。感觉写的不错,挺系统,于是边看边记了下来,相当于笔记吧。不是故意侵权。并发编程网 NIO教程系列
JDK1.4之后,java推出了NIO(New IO)。JDK1.4之前的IO只能基于流(stream)的方式逐个字节逐个字节的读取和写入。流处理方式性能比较低;NIO采用块的方式(Buffer)处理数据,性能大大提高。
NIO的核心组件:
Channel
Buffer
Selector
1.Channel主要分为两类:文件channel和网络channel,细分为4种。
FileChanel:从普通文件中读写数据
DatagramChannel:通过UDP读写网络中的数据
SocketChannel:通过TCP读写网络中的数据
ServerSocketChannel:监听新进来的TCP连接,对每个新进来的连接都创建一个SocketChannel。
2.Buffer主要有一下七种:
ByteBuffer
CharBuffer
ShortBuffer
IntBuffer
LongBuffer
FloatBuffer
DoubleBuffer
MappedByteBuffer(内存映射文件)
3.Selector
通过Selector可以监听多个channel有无数据到来。要使用selector需要在selector上注册channel,然后调用select方法开始监听,这个select方法会一直阻塞到某个注册的channel就绪。一旦select方法返回,线程就可以去处理事件, 常见的事件有:新连接的建立、数据的到来。
NIO边看边记 之 概述(一)
最新推荐文章于 2023-03-15 22:16:25 发布