Java NIO中的mmap

Java中的mmap使用:

java 复制代码
static private final int start = 0;
static private final int size = 1024;
static public void main(String args[]) throws Exception {
    RandomAccessFile raf = new RandomAccessFile("D:\\IO\\mmap-test.txt", "rw");
    FileChannel fc = raf.getChannel();
    MappedByteBuffer mbb = fc.map(FileChannel.MapMode.READ_WRITE, 
    start, size);
    mbb.put(0, (byte) 97);
    mbb.put(1023, (byte) 122);
    raf.close();
}

Java中的mmap,是通过MappedByteBuffer实现,是一种DirectBuffer,也就是说是操作系统直接管理的内存

Linux mmap原理:

可以参考知乎上的这个【轻松突破文件IO瓶颈:内存映射mmap技术】:https://zhuanlan.zhihu.com/p/64016923

相关推荐
沐知全栈开发16 小时前
CSS 下拉菜单
开发语言
WJX_KOI16 小时前
保姆级教程:Apache Flink CDC(standalone 模式)部署 MySQL CDC、PostgreSQL CDC 及使用方法
java·大数据·mysql·postgresql·flink
追随者永远是胜利者16 小时前
(LeetCode-Hot100)49. 字母异位词分组
java·算法·leetcode·职场和发展·go
吴声子夜歌16 小时前
RxJava——Flowable与背压
android·java·rxjava
Thanwind16 小时前
大二上结束随笔
java
keyborad pianist16 小时前
Web开发 Day1
开发语言·前端·css·vue.js·前端框架
坚持就完事了16 小时前
Python的类型注解
开发语言·python
wjs202416 小时前
HTML URL 编码
开发语言
wjs202416 小时前
Lua 循环
开发语言
Evand J16 小时前
matlab GUI制作界面的一些笔记(入门)
开发语言·笔记·matlab