Direct Memory读写流程分析

简介: Direct Memory读写流程分析

之前我们看出来了直接内存和传统IO操作的区别,我们针对底层流程加以说明。

BybeBuffer方式

如图所示,我们一般的IO读取过程时,程序需由用户态切换成内核态,当从ByteBuffer中读取数据时,系统会先从磁盘把文件读取到系统内存区,再从系统内存读取到Java堆内存,需要多一次内存拷贝过程。

Direct Memory方式

Direct Memory方式情况下,Java程序会直接从系统内存中开辟一块内存空间,对应的是我们的ByteBuffer.allocateDirect(_256M);这句代码,这部分内存系统内存可以访问,Java程序也可以直接访问,直接就减少了交互过程,这个就是直接内存会工作快点的原因。

目录
相关文章
|
前端开发 JavaScript Java
若依部署上线之后验证码不显示的解决方法之一
若依部署上线之后验证码不显示的解决方法之一
|
前端开发 JavaScript Java
阿里、腾讯、百度大厂的程序员编程指南规范
整理了几个大厂的编程规范,语言包含:**Javascript、Css、Java、C#**,这些文档不仅是初学者有必要看,有经验的程序员也是可以学习的,编程规范不仅是规则,更是可以从大厂的规范中学习到很多知识,比如大厂为什么这么订规范、他们是考虑原则是什么,带着类似问题的思考,都有非常有利于我们提高编程能力的。
2748 0
阿里、腾讯、百度大厂的程序员编程指南规范
|
前端开发 应用服务中间件 nginx
若依部署上线之后验证码不显示的解决方法之一
若依部署上线之后验证码不显示的解决方法之一
2268 0
|
SQL 缓存 Java
|
Java 数据库连接 mybatis
MyBatis Review——加载mappers映射文件的三种方式
一,通过resource加载映射文件 二,通过mapper接口加载映射文件   三,批量加载映射文件
1433 0
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~