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

相关推荐
小高Baby@3 分钟前
使用Go语言中的Channel实现并发编程
开发语言·后端·golang
蓝色汪洋10 分钟前
经典修路问题
开发语言·c++·算法
Knight_AL13 分钟前
Spring AOP 中 JoinPoint 使用指南
java·python·spring
jmxwzy17 分钟前
点赞系统问题
java·redis·tidb·pulsar
ss27321 分钟前
ThreadPoolExecutor:自定义线程池参数
java·开发语言
我有一棵树23 分钟前
解决 highlight.js 不支持语言的方法
开发语言·javascript·ecmascript
奕辰杰38 分钟前
Netty私人学习笔记
笔记·学习·netty·网络通信·nio
invicinble40 分钟前
关于fastjson的具体使用案例
java
卜锦元1 小时前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang
墨着染霜华1 小时前
Spring Boot整合Kaptcha生成图片验证码:新手避坑指南+实战优化
java·spring boot·后端