内存映射文件:MappedByteBuffer
2017-07-19 09:55
537 查看
内存映射文件:MappedByteBuffer
内存映射文件能让你创建和修改那些因为太大而无法放入内存的文件。有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问。这种解决办法能大大简化修改文件的代码。
FileChannel提供了map方法来把文件影射为内存映像文件:
fileChannel.map(FileChannel.MapMode mode, longposition, long size)将此通道的文件区域直接映射到内存中。注意,你必须指明,它是从文件的哪个位置开始映射的,映射的范围又有多大;也就是说,它还可以映射一个大文件的某个小片断。
更突出的优势是共享内存,内存映射文件可以被多个进程同时访问,起到一种低时延共享内存的作用。
内存映射文件是一种允许Java程序直接从内存访问的特殊文件。通过将整个文件或者文件的一部分映射到内存中、操作系统负责获取页面请求和写入文件,应用程序就只需要处理内存数据,这样可以实现非常快速的IO操作。用于内存映射文件的内存在Java的堆空间以外。Java中的java.nio包支持内存映射文件,可以使用MappedByteBuffer来读写内存。MappedByteBuffer是ByteBuffer的子类,因此它具备了ByteBuffer的所有方法。
内存映射文件能让你创建和修改那些因为太大而无法放入内存的文件。有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问。这种解决办法能大大简化修改文件的代码。
FileChannel提供了map方法来把文件影射为内存映像文件:
fileChannel.map(FileChannel.MapMode mode, longposition, long size)将此通道的文件区域直接映射到内存中。注意,你必须指明,它是从文件的哪个位置开始映射的,映射的范围又有多大;也就是说,它还可以映射一个大文件的某个小片断。
更突出的优势是共享内存,内存映射文件可以被多个进程同时访问,起到一种低时延共享内存的作用。
内存映射文件是一种允许Java程序直接从内存访问的特殊文件。通过将整个文件或者文件的一部分映射到内存中、操作系统负责获取页面请求和写入文件,应用程序就只需要处理内存数据,这样可以实现非常快速的IO操作。用于内存映射文件的内存在Java的堆空间以外。Java中的java.nio包支持内存映射文件,可以使用MappedByteBuffer来读写内存。MappedByteBuffer是ByteBuffer的子类,因此它具备了ByteBuffer的所有方法。
相关文章推荐
- Java NIO之内存映射文件——MappedByteBuffer
- java nio MappedByteBuffer 文件映射
- MappedByteBuffer的映射内存的释放
- Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer
- Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer
- Atitit.病毒木马的快速扩散机制原理nio 内存映射MappedByteBuffer
- 释放 MappedByteBuffer映射的内存
- Java Nio中的三种内存映射缓冲区---MappedByteBuffer
- FileInputStream RandomAccessFile BufferedReader MappedByteBuffer 大文件数据读取效率测试
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- 内存映射文件方式(MappedByteBuffer)处理文件的实例
- MappedByteBuffer高速缓存文件、RandomAccessFile随机访问
- 【JavaNIO的深入研究4】内存映射文件I/O,大文件读写操作,Java nio之MappedByteBuffer,高效文件/内存映射
- 高效的文件拷贝之MappedByteBuffer
- Java NIO 文件IO-内存映射文件MappedByteBuffer与zerocopy
- NIO学习笔记(2)-MappedByteBuffer文件映射到内存
- RandomAccessFile、FileChannel、MappedByteBuffer读写文件
- java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射
- java nio 之MappedByteBuffer,高效文件/内存映射
- MappedByteBuffer共享内存