流的纪念艺术

时间:2015-05-18 12:51:20

标签: stream terminology

我试图了解Streams。

流(计算机科学)与流(水)的可比性如何。这就是我在脑海中描绘它们的方式:

enter image description here

现在,我想知道这个想法是否正确。如果它不是正确的方法,为什么这不正确呢?

1 个答案:

答案 0 :(得分:3)

在信息科学中,两个相邻框的符号有一个特定的含义,一个带有一个值,另一个带有指向另一个盒子对的箭头。它代表单链表(或“链表”)的节点。这是一个包含值(也称为有效负载)和指向列表下一个节点的指针的对象。

链接列表与流很少有共同之处。确实,链接列表和流都是只能按顺序遍历的结构,但相似之处在那里结束。链接列表不是作为流实现的,虽然理论上流可以实现为链表,但效率很低,因此通常不会这样做。从流中读取时,您可以随时只看到您刚读过的项目的有效负载,您没有指向另一个项目的指针,也无法通过操作指针来重新排列项目。

所以,不,这不是描绘信息科学中的流的正确方法。

通常,现实世界的隐喻对理解信息科学实体根本没用。您需要仅在信息科学术语中理解实体的定义,一旦您实现了这一点,然后您可以使用真实世界的隐喻作为它的名称,仅此而已。

以“文件”为例。在计算机之前,文件是由马尼拉纸制成的文件夹,包含纸张。随着计算机的出现,文件是存储在磁盘上的字节数组,表示数据或代码或两者,遵循可能已知或可能未知的格式,并且可能是标准的或者只能由专用软件解释。知道“文件”这个词的旧含义对于弄清楚文件对于计算机来说无关紧要。为方便起见,我们只使用“文件”一词。我们甚至可以想象一下马尼拉文件夹。但它只是一个视觉记忆,与现实无关。