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

相关推荐
suconnect27 分钟前
Spring Boot接入企业RAG:文档切分、向量检索、权限过滤和答案溯源
java·spring boot·后端
weixin_BYSJ198729 分钟前
springboot校园自习室管理小程序---附源码32142
java·javascript·spring boot·python·django·flask·php
ClickHouseDB1 小时前
ClickHouse托管Postgres:OLTP+OLAP,新能力解锁最佳数据平台
java·前端·数据库
霸道流氓气质1 小时前
Java中集成Smile 技术教程:从入门到工程实践
java·开发语言
wuqingshun3141591 小时前
MyBatis 中#()和$()的区别是什么?
java
小Ti客栈1 小时前
SpringBoot 事件发布机制:原理与应用
java·spring boot·spring
BerrySen1781 小时前
迈向 Next-Gen Java:企业级高并发架构演进与大模型 Agent 落地深度实战
java·开发语言·架构
technology_x2 小时前
2026年财务报表分析软件测评:兼容与安全解析
java·服务器·前端
兰令水2 小时前
hot100【acm版】【2026.7.25/26打卡-java版本】
java·算法·排序算法
Nebula_g2 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化