Java IO----磁盘IO工作机制

本文探讨了Java中磁盘IO的工作机制,包括标准访问、直接IO、同步与异步访问以及内存映射方式。通过这些方式,Java应用程序能够高效地读写文件。直接IO避免了缓存过程,同步访问确保数据安全性,异步访问提升效率,而内存映射则减少了数据复制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java虚拟机中,读取/写入文件的IO操作需要调用系统接口。
读:read()
写:write()

一、标准访问文件方式

应用程序调用系统接口read,操作系统系统检查内核高速缓存是否有需要数据,有缓存则直接读取,没有则从磁盘读取。读取操作同上。


二、直接IO方式

不需要做高速缓存,直接从物理磁盘读取数据(减少数据复制到缓存的过程,节省时间)。对于热点数据可做预加载(先加载进内存中),常用在数据库管理系统中。

三、同步访问文件方式


读取和写入都是同步操作,只有数据被成功写入磁盘中时才返回给应用程序(不成功则一直阻塞),性能较差,操作速度慢,但是安全性能高。

四、异步访问文件方式


应用程序发出访问文件线程请求时,马上返回,应用程序不会阻塞,继续处理当前线程的其它事情,当请求成功后返回给应用程序(提高应用程序效率)

五、内存映射方式

将操作系统内存地址和磁盘文件关联起来,当要访问内存某段数据时,相当于直接访问磁盘文件数据(减少用户空间缓存数据的复制)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值