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

相关推荐
HoneyMoose7 分钟前
Spring Boot 2.4 部署你的第一个 Spring Boot 应用需要的环境
java
皮皮林55117 分钟前
为什么 Spring 和 IDEA 都不推荐使用 @Autowired 注解??
java
衍生星球26 分钟前
【JSP程序设计】Servlet对象 — page对象
java·开发语言·servlet·jsp·jsp程序设计
vx-Biye_Design29 分钟前
servlet家政公司管理系统-计算机毕业设计源码01438
java·vue.js·spring·servlet·tomcat·maven·mybatis
云和数据.ChenGuang30 分钟前
jenkins安装需要多少版本的jdk
java·servlet·jenkins
linux运维客栈30 分钟前
Jenkins 最稳部署指南(含版本选择、Compose 部署、插件推荐)
java·servlet·jenkins
扶苏瑾31 分钟前
线程安全问题的产生原因与解决方案
java·开发语言·jvm
珹洺32 分钟前
Java-servlet(五)手把手教你利用Servlet配置HTML请求与相应
java·运维·服务器·前端·servlet·html·maven
带刺的坐椅37 分钟前
Java 版 Claude Code CLI 来了!(国产开源)Solon Code CLI 发布
java·ai·agent·solon·claudecode·soloncode
FYKJ_201040 分钟前
springboot大学校园论坛管理系统--附源码42669
java·javascript·spring boot·python·spark·django·php