文件 I/O 性能是后台应用的主要瓶颈之一,一直以来想对文件 I/O 这个偌大的系统进行总结,故写此文。
文件 I/O 内容较多,书籍的意义在于能更系统地说明问题,避免博客文章散乱的问题。
书籍有涉及很大部分非原创内容,相关引用会在 REFERENCE 小节中指出。
书籍内容包括:
- 1.page cache
- 2.DMA 与零拷贝技术
- 3.mmap
- 4.文件分区
- 5.Java ByteBuffer与 Channel
- 6.FileChannel
- 7.JavaVisual 工具
- 8.Java ByteBuffer 测试
- 9.如何实现顺序读写
一些章节可能会需要一定的 Java 语言基础,其中:14 小节完全不需要 Java 基础,而 59 小节会涉及一定的 Java 代码。读者朋友可以有选择性地阅读。
Figure1.Linux IO Stack Diagram
其他
-
个人博客地址:https://spongecaptain.cool
-
书籍 GitHub 地址:https://github.com/Spongecaptain/SimpleClearFileIO,如有意见或者建议,特别希望读者朋友能够提 issue&pr。若有帮助,欢迎 star&fork。
推荐阅读
- On Disk IO, Part 1: Flavors of IO
- On Disk IO, Part 2: More Flavours of IO
- Read, write & space amplification - pick 2
致谢
本书受到 文件 IO 操作的一些最佳实践 一文启发,很感谢阿里巴巴中间件团队的徐靖峰,其所写文章带来的启发意义非凡。
