彻底理解 Java NIO
从 C 语言阻塞式 I/O 到 I/O 多路复用、Reactor 模式与 Java 实现。
3 篇文章 · 按阅读顺序排列
彻底理解Java NIO(一)C语言实现 单进程+多进程+多线程 阻塞式I/O 服务器详解
通过C语言实现单进程、多进程、多线程及线程池形式的阻塞式Socket服务器,解释连接处理、文件描述符与资源释放。比较这些模型的并发特点和开销,为后续学习非阻塞I/O与I/O多路复用建立基础。
彻底理解Java NIO(二)C语言实现 I/O多路复用+Reactor模式 服务器详解
从非阻塞I/O轮询的局限出发,通过C语言示例介绍select和epoll多路复用。解释文件描述符、水平触发与边缘触发,并逐步将连接管理、I/O事件处理和业务线程池组合为Multi-Reactor服务器。
彻底理解Java NIO(三)Java实现 I/O多路复用+Reactor模式及开源框架代码解读
使用Java NIO实现Multi-Reactor服务器,介绍Channel、Buffer、Selector及wakeup的协作方式。说明跨线程注册通道和动态调整读写事件的处理,并结合Apache HttpClient与Kafka客户端源码分析NIO的应用。