IO
文章平均质量分 69
qq_43437162
这个作者很懒,什么都没留下…
展开
-
AIO Proactor和 NIO Reactor
NIO AIO NIO 同步不阻塞 AIO 异步不阻塞 概念 I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。 都是IO复用下的事件驱动模型 { 作者:wuxinliulei 链接:https://www.zhihu.com/questi原创 2021-01-31 15:03:13 · 112 阅读 · 0 评论 -
NIO零拷贝
零拷贝 mmap 和 sendFile 零拷贝是服务器网络编程的关键,任何性能优化都离不开。在 Java 程序员的世界,常用的零拷贝有 mmap 和 sendFile。那么,他们在 OS 里,到底是怎么样的一个的设计?本文将简单聊聊 mmap 和 sendFile 这两个零拷贝。 File file = new File("index.html"); RandomAccessFile raf = new RandomAccessFile(file, "rw"); byte[] arr = new b原创 2021-01-31 13:44:54 · 174 阅读 · 0 评论 -
JavaIO模型
网络编程IO模型 对于一个network IO (这里我们以read举例), 它会涉及到两个系统对象, 一个是调用这个IO的process (or thread), 另一个就是系统内核(kernel)。当一个read操作发生时,它会经历两个阶段: 1 等待数据准备 (Waiting for the data to be ready) 2 将数据从内核拷贝到进程中 (Copying the data from the kernel to the process) BIO 同步并且阻塞 一个原创 2021-01-31 12:20:06 · 55 阅读 · 0 评论