"拒绝一切性能测试结论,Java 8 Stream并非性能差"
需积分: 1 19 浏览量
更新于2024-01-18
收藏 1.11MB PDF 举报
《Java8-Stream性能差?不要人云亦云》这篇文章发表后,引发了一些粉丝们的疑问和质疑。其中有一个粉丝提到,他听说使用Stream会比使用传统的for循环慢5倍,他不明白为什么要使用Stream。对于这个问题,作者表示互联网上存在很多以假乱真的信息,作为一个技术开发者,应该自己动手去实践,而不是盲目跟从别人的说法。作者也提到自己看过那篇被粉丝提到的文章,但没有贴出链接,并认为那篇文章是由一个不懂得测试和不入流的开发工程师所做的性能测试,得出了危言耸听的结论。
不过,我们需要明确的是,所有的性能测试结论都是片面的。性能测试是必要的,但我们在看待性能测试结果时,应该持怀疑态度。为什么这么说呢?
首先,性能测试脱离了业务场景就变得片面。不同的业务场景下,对性能的要求是不同的。所以,一个性能测试结果不能代表所有的业务场景。我们无法覆盖所有的业务场景,因此应该对性能测试结果保持谨慎。
其次,性能测试脱离了硬件环境也是片面的。硬件环境对性能有着重要的影响。不同的硬件环境下,同样的代码可能会有不同的性能表现。因此,我们也无法覆盖所有的硬件环境,需要谨慎对待性能测试结果。
另外,性能测试脱离了开发人员的知识面同样是片面的。开发人员的知识和经验对代码的性能有着很大的影响。不同开发人员编写的代码可能会有不同的性能表现。因此,我们也无法覆盖各种类型的开发人员的代码,需要保持谨慎。
在Java8中引入了Stream API,它提供了一种更为便捷的处理集合数据的方式。相对于传统的for循环,Stream提供了更加简洁、易读的代码编写方式,并且在某些场景下还可以提供更高的性能。
但是我们不能因为听说Stream性能好就盲目使用,也不能因为听说Stream性能差就排斥它。在实际开发中,我们应该根据具体的业务场景和要求,选择合适的方式进行数据处理。有时候使用传统的for循环可能更适合,有时候使用Stream可能更适合,这需要根据具体情况来决定。
综上所述,对于关于Java8-Stream性能差的争议,我们应该保持客观、理性的态度。不能盲目跟从别人的说法,也不能因为单一的性能测试结果就否定Stream的价值。在实际开发中,我们应该根据具体的业务场景和要求,选择合适的方式进行数据处理,包括使用传统的for循环和使用Stream。只有在合适的场景下,合理地使用Stream,才能发挥它的优势,提高代码的可读性和简洁性。
2023-06-03 上传
2023-06-02 上传
2023-03-08 上传
2023-05-30 上传
2023-06-06 上传
2023-05-30 上传
2024-07-09 上传
2023-06-07 上传
![](https://profile-avatar.csdnimg.cn/771602bc910d487684b99eec1599b61a_hanxiaotongtong.jpg!1)
字母哥哥
- 粉丝: 7w+
- 资源: 37
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储