Java中的内存映射文件是否类似于Windows的内存映射文件?还是仅基于内存和文件常规操作的模拟?
Java中的内存映射文件是否类似于Windows的内存映射文件?还是仅基于内存和文件常规操作的模拟?
它使用操作系统对内存映射文件的支持。
我正在努力查找有关此支持的文档,但我尚未找到任何确凿的证据。然而,文档中的各个部分确实指出了这样的事情:
许多内存映射文件的细节本质上取决于底层操作系统,因此是未指定的。当请求区域不完全包含在该通道的文件中时,此方法的行为是未指定的。无论是由本程序还是其他程序对底层文件的内容或大小进行的更改,是否将其传播到缓冲区是未指定的。更改缓冲区传播到文件的速率是未指定的。
如果一切都只是模拟的话,就没有必要出现这种未指定的行为。