并行与响应式编程:原理、特性与应用
1. 并行编程
CPU 通常按顺序执行指令,而并行编程则是将进程执行分割为多个小部分同时进行,能更好地利用多核处理器。这些小部分(通常称为任务)相互独立,执行顺序无关紧要。单 CPU 存在性能和内存限制,并行编程通过高效利用内存,有助于更快地解决更大的问题。
作为开发者,在应用开发中有两件事要完成:设计有助于应用流程持续的功能,以及处理应用所需的数据。基于线程的模型仅有助于应用的功能流程,为了处理应用所需的数据,我们需要数据流程计算,而响应式编程可以满足这一需求。
2. 流(Streams)
2.1 流的引入
我们常用集合框架处理数据,但该框架使用循环和重复检查存在复杂性,且无法有效利用多核系统。Java 8 引入的流作为新的抽象层,能以声明式方式处理数据。
2.2 流与数组的区别
流是一段时间内发出的一系列不同元素,它与数组有相似之处,但也有明显区别。数组元素在内存中顺序排列,而流中的元素并非如此,且每个流都有开始和结束。
2.3 流的特性
- 顺序元素 :流按需提供典型类型元素的序列。
- 流的来源 :流可以将集合、数组、文件或其他 I/O 资源作为输入。
- 执行操作 :流支持对其元素执行各种操作,如过滤、映射、匹配、查找等。
- 自动操作 :流无需对源元素进行显式迭代,而是隐式执行迭代
超级会员免费看
订阅专栏 解锁全文
1230

被折叠的 条评论
为什么被折叠?



