mmap : 内存文件映射
先通过文件与虚存建立地址映射关系,然后通过缺页中断对文件进行按需加载,并且以page (4k)为基本单位。
Java FileChannel doc 描述
large files this is often much more efficient than invoking the usual read or write methods. WHY?
1、从mmap 实现的功能来看,延迟加载(先映射)文件。有一定的优化
2、中断按需加载文件,就不用一次加载完整的文件。类似程序执行,不以一次加载所有程序
3、页对齐,可以优化访盘效率。如果是小文件,比如<4k 那么会有大量的内存碎片。并且小文件很大程度可以直接使用缓存,直接读取效率会很高。
4、缺页中断太多,会影响程序性能。因为会有大量的上下文切换
网友评论