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

相关推荐
m0_3807438720 分钟前
PHP7.1项目升级到8.3报错怎么解决
开发语言·php
泡海椒34 分钟前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
lcj251135 分钟前
【C++】set和map——详细使用说明
开发语言·c++·笔记·面试
潼心1412o36 分钟前
C++初阶(长期更新)第3讲:类和对象(中)
开发语言·c++
梦幻通灵40 分钟前
IDEA 实用快捷键【持续更新】
java·ide·intellij-idea
南归北隐40 分钟前
Spring AI Alibaba Graph框架实现Tools工具调用
java·后端·spring·spring ai·spring ai tools
外收内放1 小时前
Python基础语法练习题(40-42)
开发语言·python
开开心心就好1 小时前
视频模糊怎么修复?免费工具支持批量处理
java·前端·人工智能·智能手机·pdf·excel
程序喵大人1 小时前
【C++入门】编译链接模型 - 02 预处理把头文件怎样塞进源文件
开发语言·c++·预处理·编译链接·头文件·源文件
茉莉玫瑰花茶1 小时前
GO [ 并发 · 调度器 ]
开发语言·后端·golang