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

相关推荐
一个小白16 分钟前
C++——list模拟实现
开发语言·c++
bug总结6 分钟前
新学一个JavaScript 的 classList API
开发语言·javascript·ecmascript
小猫猫猫◍˃ᵕ˂◍6 分钟前
备忘录模式:快速恢复原始数据
android·java·备忘录模式
Nicole Potter13 分钟前
请说明C#中的List是如何扩容的?
开发语言·面试·c#
liuyuzhongcc15 分钟前
List 接口中的 sort 和 forEach 方法
java·数据结构·python·list
五月茶19 分钟前
Spring MVC
java·spring·mvc
sjsjsbbsbsn28 分钟前
Spring Boot定时任务原理
java·spring boot·后端
yqcoder29 分钟前
Express + MongoDB 实现在筛选时间段中用户名的模糊查询
java·前端·javascript
十八朵郁金香1 小时前
通俗易懂的DOM1级标准介绍
开发语言·前端·javascript
阿尔法波1 小时前
python与pycharm如何设置文件夹为源代码根目录
开发语言·python·pycharm