![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
NIO编程
文章平均质量分 92
NIO编程
jannals
没有失败,只有缓慢的成功
展开
-
NIO笔记(一)之IO模型
文章目录NIO 简介I/O内存缓冲区IO模型阻塞I/O非阻塞I/OIO复用信号驱动式I/O异步I/O总结Scalable IO in JavaClassic Service DesignsNIONIO 简介传统I/O库与NIO最重要的区别是数据的打包和传输的方式,传统的I/O以流的方式处理数据,一次一个字节地处理数据,一个输入流产生一个字节的数据,一个输出流消费一个字节的数据。NIO以块的...原创 2019-05-02 14:54:40 · 467 阅读 · 0 评论 -
NIO笔记(二)之Channel
文章目录JDK版本ChannelChannel读写Channel关闭SocketChannelServerSocketChannel创建阻塞模式选项SelectionKeySelectorProviderJDK版本jdk8ChannelChannel概念数据的源头或者数据的目的地用于向 buffer 写入数据或者读取 buffer 数据异步I/O支持–包含socket,f...原创 2019-05-02 15:00:42 · 213 阅读 · 0 评论 -
NIO笔记(三)之Buffer
文章目录参考资料BufferBuffer的属性Buffer实现类以及用法Scatter/GatherByteBufferMappedByteBufferDirectByteBuffer使用google-perftools参考资料《Java IO,NIO and NIO2》 英文版http://tutorials.jenkov.com/java-nio/index.html《JAVA NI...原创 2019-05-02 16:03:54 · 226 阅读 · 0 评论 -
NIO笔记(四)之Selector
文章目录JDK版本Selector创建注册Channel到Selectorselect()wakeup()SelectionKey已注册的`SelectionKey`的集合已就绪的`SelectionKey`的集合已取消的`SelectionKey`的集合interestOpsreadyOps()cancel()JDK版本jdk8SelectorSelector主要作用是作为Sel...原创 2019-05-02 16:06:23 · 227 阅读 · 0 评论 -
NIO笔记(五)之NIO各种事件
NIO各种事件OP_CONNECTOP_ACCEPTOP_WRITEOP_WRITE的处理解决网速慢的连接OP_READ特殊的close事件NIO各种事件客户端的SocketChannel支持 OP_CONNECT, OP_READ, OP_WRITE三个操作。服务端ServerSocketChannel只支持OP_ACCEPT操作,在服务端由Ser...原创 2018-09-10 09:03:30 · 3459 阅读 · 1 评论 -
NIO笔记(六)之Charset
文章目录基础Charset基础Character set(字符集):字符的集合,带有特殊语义的符号Coded character set(编码字符集):一个数值赋给一个字符的集合Character-encoding scheme(字符编码方案): 编码字符集成员到八位字节(8 bit字节)的映射。编码方案定义了如何把字符编码的序列表达为字节序列。字符编码的数值不需要与编码字节...原创 2019-05-02 16:15:43 · 246 阅读 · 0 评论 -
NIO笔记(七)之读事件问题
文章目录读事件独立线程处理的问题解决方案tomcat解决方案读事件独立线程处理的问题当把读事件放到单独的线程中执行,要注意,读事件的的延迟问题,即如果没有及时处理(将数据从Channel中读取处理)又没有将其注销,那么下一次迭代的时候,依然会触发读事件,这可能会产生一些问题 public class ReadEvent { private ServerSocketC...原创 2019-05-02 16:18:42 · 549 阅读 · 0 评论