• java 内存映射文件


    • 内存映射文件提供了Java有可能达到的最快IO操作,故高性能Java应用应使用“内存映射文件”来持久化数据,尤其是对于较大文件来说它确实比I/O流要快很多,但是小文件却未必。
    • 内存映射文件可以加载大文件,文件的size上限取决于操作系统(内存的可寻址范围):32位,不能超过4GB,即2^32比特;64位,你几乎可以将任何文件映射到内存中并直接使用Java访问。
    • 内存映射文件允许你使用direct或者non-direct 字节缓存(Byte buffer)来直接读写内存。
    • 内存映射文件的一个关键优势是操作系统负责真正的读写,即使你的程序在刚刚写入内存后就挂了,操作系统仍然会将内存中的数据写入文件系统。
    • 另外一个更突出的优势是共享内存,内存映射文件可以被多个进程同时访问,起到一种低时延共享内存的作用。

    将整个文件或者文件的一部分映射到内存中,这样java直接从内存中访问你所加载的文件的数据。操作系统负责获取页面请求和写入文件,应用程序就只需要处理内存数据,这样可以实现非常快速的IO操作。(与内存映射文件相对的是:从disk读写文件

     一般用法是:

    • 创建RandomAccessFile对象 raf
    • raf.getChannel().map()方法获取映射出的内存文件MappedByterBuffer 对象 mbb
    • 调用mbb.put()或mbb.get()方法进行写或读

    参考:

    http://blog.csdn.net/napolunyishi/article/details/18214929

  • 相关阅读:
    Java学习的第二十八天
    Java学习的第二十七天
    第五章 作用域闭包
    第4章提升
    第3章函数作用域和块级作用域
    Vant中List列表下拉加载更多
    获取当前时间
    js比较两个时间的大小
    边框引起页面抖动
    计算两个数的百分比,保留两位小数
  • 原文地址:https://www.cnblogs.com/ivywenyuan/p/4845608.html
Copyright © 2020-2023  润新知