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

相关推荐
晨晖22 分钟前
springboot的Thymeleaf语法
java·spring boot·后端
yi碗汤园4 分钟前
Visual Studio常用的快捷键
开发语言·ide·c#·编辑器·visual studio
p***95007 分钟前
【SpringBoot】日志文件
java·spring boot·spring
Elias不吃糖25 分钟前
NebulaChat:C++ 高并发聊天室服务端
开发语言·c++·redis·sql·项目文档
b***666127 分钟前
【springboot】健康检查 监控
java·spring boot·后端
haofafa28 分钟前
JavaScript性能优化实战
开发语言·javascript·性能优化
明洞日记34 分钟前
【设计模式手册010】组合模式 - 树形结构的优雅处理
java·设计模式·组合模式
帅中的小灰灰34 分钟前
C++编程策略设计模式
开发语言·c++·设计模式
O***p60441 分钟前
JavaScript增强现实开发
开发语言·javascript·ar
Antonio9151 小时前
【Swift】Swift基础语法:函数、闭包、枚举、结构体、类与属性
开发语言·swift