1

Java通过检索的 via支持内存映射文件。这些文件允许多个进程共享内存,以及其他用途。MappedByteBufferFileChannel#map

Wikipedia 文章中所述,有两种类型的内存映射文件:

坚持

持久文件与磁盘上的源文件相关联。最后一个过程完成后,数据将保存到磁盘上的源文件中。这些内存映射文件适用于处理非常大的源文件。

非持久化

非持久文件不与磁盘上的文件相关联。当最后一个进程完成对文件的处理时,数据将丢失。这些文件适用于为进程间通信 (IPC) 创建共享内存。

持久化内存映射文件很容易通过FileChannel#map. 但是,无法以这种方式获取非持久(匿名)文件。例如,在 Python 中,使用mmap,可以-1作为文件编号和唯一标记名称(在 Windows 中)传递,以获取匿名内存映射文件的段。

  1. 是否可以从 Java 中的匿名/非持久内存映射文件中读取?

  2. 如果是这样,是否可以(在 Windows 中)指定标记名称来映射匿名文件数据?

4

0 回答 0