“流”这个术语传统上与I/O操作有关。Java为什么选择“流”这个术语作为它们的函数式操作名称?
“流”这个术语传统上与I/O操作有关。Java为什么选择“流”这个术语作为它们的函数式操作名称?
"流"不一定与I/O有关,而是一个泛化的概念,指的是信息在系统中流动。
流处理(由Mr.Me提供的维基百科链接)的概念与SIMD处理或基于向量的计算有关,这也类似于Java 8 Streams API所提供的计算风格。
然而,我认为Java 8中“流”这个概念的主要灵感来自于这本书:Structure and Interpretation of Computer Programs, 2/e. Abelson, Sussman, 和Sussman. MIT Press, 1996. (该书可以在MIT Press网站免费阅读。)
以下是我精装版书的第217-218页上章节介绍部分的一些摘录:模块化、对象和状态,
在本章中,我们将探究两种显著的组织策略,这些策略源于系统结构的两种不同“世界观”。第一种组织策略集中于对象,将大型系统视为由行为可能随时间变化的不同对象组成的集合。另一种组织策略集中于流动在系统中的信息流,就像电气工程师看待信号处理系统一样。