0

我是一名新手程序员,最近开始学习算法和 DS。我经常在教程和书籍中看到“将数据放入内存”这一术语,例如排序、信息检索。虽然我了解将数据存储到数组或 HashMap(在 IR 的情况下)的过程,但我真的不明白内存在其中扮演什么角色?

谁能指导我了解这些场景中的记忆基础知识或建议我一些相同的教程?

4

1 回答 1

3

在基本级别上,计算机只有两件事:

  • 数据片段
  • 它可以对一段(或多段)数据执行的操作

所有的数据只包含 1 和 0。

但是,这些数据可以在很多地方,都可以称为内存。

  • ROM(只读内存:您的计算机启动时能够与主板和其他东西交互的内存。)

  • 硬盘(电脑关机后硬盘上保存的数据不会丢失。操作系统、个人文件等)

  • RAM(随机存取内存:应用程序可以快速读取和写入 RAM,但是当计算机重新启动时数据会消失。哈希表、对象、程序处理的数据都存储在这里。)

  • 缓存(存在各种级别的缓存。RAM 内存的频繁访问部分被复制到缓存内存中,因此应用程序可以更快地访问/修改该数据。修改后的数据将被移回 RAM,并且可以将 RAM 中的数据保存到硬盘)。

  • 外部内存(互联网连接或其他连接可能为您提供更多可以存储数据的地方,但访问该内存需要更长的时间)。

在教程或书籍等以“将数据存入内存”的形式使用“内存”时,通常表示将数据从硬盘内存中取出到 RAM 内存中。

这是因为计算机执行的操作只能对存储在 RAM 中的数据执行。(尽管有人肯定会发表评论,但有一些例外)。

于 2012-08-10T02:27:07.723 回答