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

相关推荐
ThinkerQAQ_几秒前
并发编程(七):volatile——从语言规则到 CPU
java·python·go
蜗牛互联网4 分钟前
Python Responses API函数调用实战:工具白名单、参数校验与预算
java·人工智能·后端
韩曙亮8 分钟前
【JavaEE】MyBatis 基本用法 ⑤ ( 单条件查询 | 多条件查询 | 多条件动态查询 | 单条件动态查询 )
java·sql·java-ee·mybatis·mapper·sql映射
开开心心就好8 分钟前
二维码批量生成导出工具,离线可用完全免费
java·前端·人工智能·智能手机·github·excel·visual studio
1024奇点8 分钟前
【仓颉语言入门 · 第24课】
开发语言·ide·开源
栈溢出了12 分钟前
VS Code Python 自动导包失效排查笔记
开发语言·笔记·python
wangbing112514 分钟前
开发指南147-WebSocket-前后关联关系
java
朝朝辞暮i19 分钟前
C++ 第 28 课:Lambda 表达式
开发语言·c++·算法
Frank_refuel25 分钟前
深入理解RpcRouter(远端调用模块)
开发语言·qt
Wx-bishekaifayuan26 分钟前
springboot陨石鉴收系统96265-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·spring·课程设计