
NIO
Hermione Granger
To be or not to be,that's a question.
展开
-
(一)NIO编程之NIO与BIO
BIO编程原创 2019-05-28 12:08:30 · 17218 阅读 · 0 评论 -
(二)NIO之网络IO
概述和核心 API前面在进行文件 IO 时用到的 FileChannel 并不支持非阻塞操作,学习 NIO 主要就是进行网络 IO,Java NIO 中的网络通道是非阻塞 IO 的实现,基于事件驱动,非常适用于服务器需要维持大量连接,但是数据交换量不大的情况,例如一些即时通信的服务等等在 Java 中编写 Socket 服务器,通常有以下几种模式:一个客户端连接用一个线程,优点:程序编写简...原创 2019-05-28 21:45:13 · 16627 阅读 · 0 评论 -
(三)NIO之AIO,对比总结
AIO编程JDK 7 引入了 Asynchronous I/O,即 AIO。在进行 I/O 编程中,常用到两种模式:Reactor和 Proactor。Java 的 NIO 就是 Reactor,当有事件触发时,服务器端得到通知,进行相应的处理。AIO 即 NIO2.0,叫做异步不阻塞的 IO。AIO 引入异步通道的概念,采用了 Proactor 模式,简化了程序编写,一个有效的请求才启...原创 2019-05-28 22:04:12 · 16374 阅读 · 0 评论 -
NIO源码分析之Buffer
NIO源码分析之BufferNIO博大精深,探寻NIO的源码后收获很多,在此进行记录。这次主要分析Buffer的源码,主要有以下几个内容。绝对方法和相对方法(position,limit,capacity属性的含义)Clearing,flipping,and rewinding 的作用线程不安全链式调用常用API源码分析绝对方法和相对方法相对方法: limit值与posit...原创 2019-06-07 18:15:46 · 15194 阅读 · 0 评论 -
NIO源码分析之Selector
NIO源码分析之SelectorNIO的Selector源码第一句话就是 A multiplexor of {@link SelectableChannel} objects.即 SelectableChannel对象的多路复用器。这很清楚的说明了Selector的作用。这篇文章主要从以下几个点对Selector进行分析:选择器(Selector)可选择通道(SelectableCha...原创 2019-06-08 11:13:52 · 15507 阅读 · 0 评论 -
Java之NIO和零拷贝(Zero Copy)
早就想写一篇关于NIO中的零拷贝的文章,今天逛博客看到一篇写的不错的文章,就转载过来了,相信对零拷贝不太了解的同学看到后会很有收获本文章转自: https://blog.youkuaiyun.com/cringkong/article/details/80274148一.Linux操作系统中的零拷贝1.1先从Linux的普通I/O过程说起1.2内存映射方式I/O1.3内核空间内部传输I/O1.4理...转载 2019-06-20 14:24:23 · 8541 阅读 · 0 评论