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

相关推荐
oak隔壁找我10 分钟前
Elasticsearch QueryBuilders 高级使用案例
java·后端
青云交13 分钟前
Java 大视界 -- Java 大数据在智能家居能源消耗模式分析与节能策略制定中的应用
java·大数据·智能家居·数据采集·能源消耗模式分析·节能策略制定·节能效果评估
小龙报13 分钟前
《算法通关指南:数据结构和算法篇 --- 顺序表相关算法题》--- 询问学号,寄包柜,合并两个有序数组
c语言·开发语言·数据结构·c++·算法·学习方法·visual studio
Zhang青山14 分钟前
【玩转全栈】----Django基本配置和介绍
java·后端
数据知道17 分钟前
Go语言设计模式:工厂模式详解
开发语言·设计模式·golang·go语言·工厂模式
AI视觉网奇42 分钟前
coco json 分类标注工具源代码
开发语言·python
BUG?不,是彩蛋!1 小时前
Java Web 项目打包部署全解析:从 IDEA 配置到 Tomcat 运行
java·intellij-idea
勇敢牛牛_1 小时前
Rust真的适合写业务后端吗?
开发语言·后端·rust
JIngJaneIL1 小时前
财务管理|基于SprinBoot+vue的个人财务管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·财务管理系统
rengang661 小时前
352-Spring AI Alibaba OpenAI DashScope 多模态示例
java·人工智能·spring·多模态·spring ai·ai应用编程