从 Linux 内核角度探秘 JDK NIO 文件读写本质
buffered io
当进程进行文件读取时,内核会首先检查文件对应的页高速缓存 page cache 中是否已经缓存了文件数据,如果有则直接返回,如果没有才会去磁盘中去读取文件数据,而且还会根据非常精妙的预读算法来预先读取后续若干文件数据到 page cache 中。
direct io
不使用 page cache, 两次拷贝, 两次上下文切换.
聊聊 Netty 那些事儿之从内核角度看 IO 模型
References
- 从 Linux 内核角度探秘 JDK NIO 文件读写本质
- https://mp.weixin.qq.com/s/zAh1yD5IfwuoYdrZ1tGf5Q - 聊聊 Netty 那些事儿之从内核角度看 IO 模型