从Linux内核理解JAVA的NIO
前言
IO 可以简单分为磁盘 IO 和 网络 IO ,磁盘 IO 相对于网络 IO 速度会快一点,本文主要介绍 磁盘 IO ,网络 IO 下周写。
JAVA 对 NIO 抽象为 Channel , Channel 又可以分为 FileChannel (磁盘 io)和 SocketChannel (网络 io)。
如果你对 IO 的理解只是停留在 api 层面那是远远不够的,一定要了解 IO 在系统层面是怎么处理的。
本文内容:
Linux 内核 中的 虚拟内存 、系统调用、文件描述符、Inode、Page Cache 、缺页异常讲述整个 IO 的过程