并行编程、流与响应式编程全解析
1. 并行编程
CPU 通常按顺序执行指令,而并行编程则是将进程执行分割成多个小部分同时进行,能更好地利用多核处理器。这些小部分即任务,相互独立,执行顺序无关紧要。单 CPU 存在性能和内存限制,并行编程通过高效利用内存,能更快解决大型问题。
作为开发者,在应用开发中有两个主要任务:一是设计功能以维持应用流程,帮助用户顺畅使用;二是处理应用所需的数据。基于线程的模型仅有助于应用的功能流程,而处理数据则需要数据流式计算,响应式编程能满足这一需求。
2. 流
我们常用集合框架处理数据,但该框架存在使用循环和重复检查的复杂性,且无法高效利用多核系统。Java 8 引入的流作为新的抽象层,能以声明式方式处理数据。
流是一段时间内发出的一系列不同元素,它类似数组但又不同。数组元素在内存中顺序排列,而流元素并非如此,且每个流都有开始和结束。
以计算数组和流的前六个元素平均值为例,计算数组平均值时,开发者需逐个获取元素并求和,再应用公式计算。而对于流,不能直接套用数组的逻辑,因为流中的元素可能不会全部被访问,且元素发出速度可能不同,计算的平均值是动态值。这就像坐在河边,水流过腿部不会回流,流中的元素也是如此。
2.1 流的特性
- 顺序元素 :流按需提供典型类型元素的序列。
- 流的来源 :流可将集合、数组、文件或其他 I/O 资源作为输入。
- 执行操作 :流支持对元素执行各种操作,如过滤、映
超级会员免费看
订阅专栏 解锁全文
1322

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



