NIO:Buffer、Channel、Selector 与非阻塞 I/O | JavaSE

本章覆盖:BIO、NIO、AIO 的概念边界:阻塞/非阻塞与同步/异步不要混为一谈;Buffer 的 capacity、limit、position;flip、clear、compact、rewind 的状态变化;ByteBuffer 的 allocate、wrap 与 direct buffer 基础;Channel 与传统 Stream 的差异;FileChannel 的 read、write、position、transferTo / transferFrom 基础;SocketChannel、ServerSocketChannel 与 DatagramChannel 的定位;SelectableChannel、Selector、SelectionKey;多路复用与单线程管理多个连接的事件循环思想;非阻塞 I/O 中 read / write 可能返回 0 的语义;AsynchronousChannel / AIO 只建立概念,不深入实现;DirectByteBuffer、MappedByteBuffer、零拷贝只作工程认知,不进入底层细节。

本章知识点

  • BIO、NIO、AIO 的概念边界:阻塞/非阻塞与同步/异步不要混为一谈
  • Buffer 的 capacity、limit、position
  • flip、clear、compact、rewind 的状态变化
  • ByteBuffer 的 allocate、wrap 与 direct buffer 基础
  • Channel 与传统 Stream 的差异
  • FileChannel 的 read、write、position、transferTo / transferFrom 基础
  • SocketChannel、ServerSocketChannel 与 DatagramChannel 的定位
  • SelectableChannel、Selector、SelectionKey
  • 多路复用与单线程管理多个连接的事件循环思想
  • 非阻塞 I/O 中 read / write 可能返回 0 的语义
  • AsynchronousChannel / AIO 只建立概念,不深入实现
  • DirectByteBuffer、MappedByteBuffer、零拷贝只作工程认知,不进入底层细节