【发布时间】:2014-03-14 13:22:17
【问题描述】:
据我所见,MappedByteBuffer 在调用FileChannel.map 后将文件内容“映射”到内存中,但不一定将整个文件加载进去。所以,如果我开始阅读例如在 pos(0),一个页面可能实际上是从磁盘加载的,例如文件的前 4096 字节,进入主内存(在堆之外,因为它是直接内存缓冲区)。
我的问题是 - 如果我在缓冲区上调用 load() 方法会发生什么?那是否会尽力将整个文件映射到内存中,例如考虑到这是我映射的数量,正好加载 1GB 的数据?
【问题讨论】:
标签: java nio memory-mapped-files mappedbytebuffer