我是一名新手程序员,最近我开始学习算法和DS。我经常在教程和书中看到提及“将数据存入内存”这一术语,如排序,信息检索。虽然我理解将数据存储到数组或HashMap中的过程(如果是IR)但我真的不明白记忆在其中起什么作用?
在这些场景中,有没有人可以引导我了解内存的基础知识,或者为我建议一些相同的教程?
答案 0 :(得分:3)
在基本级别,计算机只有两件事:
所有数据都只包含1和0。
但是,这些数据可以存在很多地方,这些数据都可以称为内存。
ROM (只读内存:计算机启动的内存,以便能够与主板和内容进行交互。)
硬盘(关闭计算机时,保存在硬盘上的数据不会丢失。操作系统,个人文件等)
RAM (随机存取内存:应用程序可以快速读写RAM,但重启计算机时数据会消失.HashTables,Objects,程序处理的数据存储在这里。)
缓存(存在各种级别的缓存。经常访问的RAM内存部分被复制到缓存内存,因此应用程序可以更快地访问/修改该数据。修改后的数据将被移动回到RAM,从RAM可以保存到硬盘上。
外部内存(互联网连接或其他连接可能会为您提供更多可存储数据的位置,但访问该内存的时间会更长)。
当“内存”以“将数据存入内存”的形式使用时,例如在教程或书籍中,它们通常意味着将数据从硬盘存储器中取出到RAM存储器中。
这是因为计算机执行的操作只能对存储在RAM中的数据执行。 (虽然有人肯定会发表评论但有一些例外)。