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

相关推荐
郑州光合科技余经理2 小时前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1233 小时前
matlab画图工具
开发语言·matlab
大大水瓶3 小时前
Tomcat
java·tomcat
dustcell.3 小时前
haproxy七层代理
java·开发语言·前端
norlan_jame3 小时前
C-PHY与D-PHY差异
c语言·开发语言
游离态指针3 小时前
以为发消息=下单成功?RabbitMQ从0到秒杀实战的完整踩坑笔记
java
多恩Stone3 小时前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
BD_Marathon3 小时前
工厂方法模式
android·java·工厂方法模式
QQ4022054964 小时前
Python+django+vue3预制菜半成品配菜平台
开发语言·python·django
遥遥江上月4 小时前
Node.js + Stagehand + Python 部署
开发语言·python·node.js