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

相关推荐
凡间客14 小时前
Python编程之常用模块
开发语言·python
景彡先生14 小时前
Python基础语法规范详解:缩进、注释与代码可读性
开发语言·前端·python
悟能不能悟14 小时前
java重构旧代码有哪些注意的点
java·开发语言·重构
歪歪10014 小时前
如何在Qt中使用VS的调试功能
运维·开发语言·网络·qt·网络协议·visual studio
怪兽201415 小时前
Redis过期键的删除策略有哪些?
java·数据库·redis·缓存·面试
筏.k15 小时前
C++ 设计模式系列:生产者-消费者模式完全指南
开发语言·c++·设计模式
liliangcsdn15 小时前
python如何写数据到excel示例
开发语言·python·excel
workflower18 小时前
单元测试-例子
java·开发语言·算法·django·个人开发·结对编程
YuanlongWang18 小时前
C# 基础——装箱和拆箱
java·开发语言·c#
b78gb18 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql