随机读写 vs 顺序读写

磁盘是如何存储数据的?

信息存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1(磁化为1),凹的地方代表数字0。因此硬盘可以以二进制来存储表示文字、图片等信息。

 

机械盘和固态盘的区别:

机械盘:数据是存储的扇区的,读写是依靠磁头的摆动寻址的。顺序读写主要时间花费在了传输时间,随机读写需要多次寻道和旋转延迟。

固态盘:是由控制单元和固态存储单元(DRAM或FLASH芯片)组成,存储单元负责存储数据,控制单元负责读取、写入数据。

由于固态硬盘没有普通硬盘的机械结构,也不存在机械硬盘的寻道问题。

 

顺序读写和随机读写对比:

随机读写是相对顺序读写而言的,所谓随机读写,是指可以在任何时候将存取文件的指针指向文件内容的任何位置。一般情况下SAS机械硬盘主要是看顺序读写性能,SSD固态盘主要看随机读写性能。

文件的操作方式

顺序读写:文件指针只能从头移动到尾。

随机读写:文件指针可以随意移动,根据需要。

 

示例:

假设存在一个文件尺寸为1024个字节的文件,如果按照顺序存取原则的话,我们只能采用类似于FileStream.read()或者FileReader.readLine()的方式来一段一段,或者一行一行地读取。

RandomAccessFile类的核心价值在于RandomAccessFile.seek()方法,通过这个方法,可以任意地指定当前存取文件的指针位置。

随时调用RandomAccessFile类的getFilePionter()方法,获取文件指针当前距离文件起始位置的偏移量。

 

小结:在日常项目开发中在设计存储时,一定要考虑顺序和随机,优化其性能达到最高。例如,当前大多数数据库使用的都是传统的机械磁盘,因此,整个系统设计要尽可能顺序I/O,避免昂贵的寻道时间和旋转延迟的开销.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 析构函数(Destructor)和终结器(Finalizer)——托管资源的释放

本文内容 使用析构函数释放资源 Object.Finalize 方法 资源的显式释放 使用析构函数释放资源 析构函数用于析构类的实例。 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用的。 析…

教育部:建设100+AI特色专业, 500万AI人才缺口要补上!

来源:网络大数据摘要:为落实《国务院关于印发新一代人工智能发展规划的通知》,为我国新一代人工智能发展提供战略支撑,教育部在近日正式发布了《高等学校人工智能创新行动计划》。AI再次被提上国家级日程!为落实《国务院关于印发新…

TCP三次握手详解及面试题

为什么必须是三次握手? 大家都知道传输层(点击这里去传输层)中的TCP协议是面向连接的,提供可靠的连接服务,其中最出名的就是三次握手和四次挥手,今天先讲解三次握手(四次挥手点这里)…

git 撤销修改:未push 、已push

场景&#xff1a;不小心把一次错误的代码push到远程服务器上的分支上&#xff0c;需要立即删除/撤销这次代码提交。 具体方法&#xff0c;git命令&#xff1a; git loggit reset --hard <commit_id>git push origin HEAD --force【命令详解】 获取commit_id&#xff1…

跳过堡垒机,一键登陆

使用场景&#xff1a; 在登陆公司堡垒机时&#xff0c;一般需要个人密码动态密码&#xff08;常为OTP密码&#xff09;&#xff0c;本文通过自动生成OTP密码实现一键登录。 如果是静态密码&#xff0c;跳过第一步&#xff0c;第二步去掉动态密码部分 第一步&#xff1a;获取…

一条光纤的传输容量高达 661Tbps(附论文)

来源&#xff1a;云头条摘要&#xff1a;研究人员将全世界目前的光纤容量塞入到一条链路中。社会对数据的渴求永无止境。事实上&#xff0c;想想这个就令人相当惊讶&#xff1a;平均的互联网流量是每秒几百兆兆位&#xff0c;耗电量约占我们发电量的8%。这一切用来传输猫咪即时…

android:给程序加锁

new Thread() {Overridepublic void run() {// 看门狗, 不停的查看当前activity任务栈的栈顶while (true) {// 首先获取到最上面的任务栈, get(0) 获取到任务栈栈顶的activityString packname activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();for (L…

tcp四次挥手,为什么是四次?

上一篇博客说了三次握手为什么是是三次&#xff08;点这里&#xff09;&#xff0c;那么现在就介绍一下四次挥手。大家都知道TCP是全双工的&#xff0c;再建立连接时的三次握手中的SYN和ACK一起发送&#xff0c;这里就会有疑问&#xff0c;为什么在四次挥手的时候没有将SYN和AC…

市值破万亿美金的苹果 近年在AI上搞了些新动作

来源&#xff1a;网易智能2007年&#xff0c;中石油在中国A股市场上市首日市值曾达到1.1万亿美元。11年之后&#xff0c;当地时间8月2日&#xff0c;苹果公司盘中市值也超过1万亿美金&#xff0c;成为继中石油后的第二家破万亿公司。苹果股价以207.39美元收盘&#xff0c;涨幅为…

Install VMware tools 解决(物理主机WIN7X64和VM下的REHAT LINUX AS4共享文件)

这里以Windows 7 X64、VMware Workstation 8、Rehat Linux AS4为例&#xff0c;其它环境类似。 1. 准备工作 打开VMware WorkStation&#xff0c;并启动Rehat Linux AS4 选择vmware workstation程序菜单中VM >install VMware tools... 2. 安装软件包 在/media/VMwareTools/…

Python搭建web服务器

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下&#xff0c;输入命令&#xff1a; python -m Web服务器模块 [端口号&#xff0c;默认8000] 例如&#xff1a; python -m SimpleHTTPServer 8080在命令的开头加一个nohup&#xff0c;忽略所…

网络层(学习笔记)

网络层 负责地址管理与路由选择&#xff0c;在复杂的通信环境中 IP协议 IP协议头格式 4位协议版本&#xff1a;IPV4/IPV6 4位头部长度&#xff1a;表示ip头有多长&#xff0c;最长60字节&#xff0c;最小20字节 8位服务类型&#xff1a;TOS字段&#xff08;最小延时&#xff…

jQuery 的各种练习

这个星期最大的感悟是&#xff0c;只有在实践中不断的总结&#xff0c;才能打下扎实基本功。这是本周主要做的东西&#xff1a; 第一个图主要为对jQuery ajax的练习。后面两个计算器和新浪微博页面为之前做好的页面&#xff0c;这次用一个load()函数把它们加载进来。不过中间的…

蜜糖变砒霜:90%美国公司区块链项目将不再重启

来源&#xff1a;雷锋网摘要&#xff1a;市场对区块链的“迷恋”来得轰轰烈烈&#xff0c;退得悄无声息。一方面是科技巨头占山为王&#xff0c;另一方面不少此前号称投入研发区块链的公司已经把目光收回&#xff0c;并且表示再也不会重启这些试点项目。有人觉得区块链就此沉寂…

【埋点】是什么埋点?简述埋点的操作流程

埋点&#xff1a;又称为事件追踪&#xff08;Event Tracking&#xff09;&#xff0c;指的是针对特定用户行为或事件进行捕获&#xff0c;处理和发送的相关技术及其实施过程。 功能方面&#xff1a;埋点是用来收集用户行为数据。比如想要了解一个用户在APP里面点击了哪些按钮&…

【转】如何让ucgui支持24位色(24bpp)

将UC/GUI 3.32a 更改为可以支持24bpp色彩模式 我打算在UC/OS-II上直接移植一个开源的GUI界面。所以我从网上找了一些GUI的开源代码&#xff0c;主要看了看飞漫软件的MiniGUI和Micrium公司的uC/GUI。 飞漫软件的MiniGUI可免费下载的版本是1.3.3&#xff0c;可是不支持UC/OS-II&a…

NASA指定首批9名宇航员,参与波音和马斯克商业载人航天

来源&#xff1a;澎湃新闻人类太空探索史即将翻开商业载人航天的新一页。美国当地时间8月3日&#xff0c;美国国家航空航天局&#xff08;NASA&#xff09;公布了9名将搭乘波音公司的CST-100 Starliner载人航天器和SpaceX载人龙飞船往返国际空间站的宇航员。其中3名宇航员参与S…

一篇文章搞懂数据仓库:数据仓库的8个发展阶段

目录 一 概念阶段&#xff08;1978-1988&#xff09; 二 萌芽阶段 三 集成阶段 四 确立阶段&#xff08;1991&#xff09; 五 数据集市&#xff08;1994&#xff0d;1996&#xff09; 六 争吵与混乱&#xff08;1996-1997&#xff09; 七 合并&#xff08;1998&#xff…