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

相关推荐
用户2986985301420 分钟前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉23 分钟前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
咖啡八杯44 分钟前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手1 小时前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记1 小时前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码1 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python
唐青枫2 小时前
Java 虚拟线程实战指南:从 Thread API 到 Spring Boot 高并发应用
java
白鲸开源18 小时前
Apache SeaTunnel Zeta Engine 的 Basic Auth 是怎么工作的?
java·vue.js·github
白鲸开源18 小时前
一文读懂DolphinScheduler插件机制:如何轻松扩展任务类型与数据源
java·架构·github
用户298698530141 天前
Java 实现 Word 文档文本查找与高亮标注
java·后端