我正在尝试使用Spring的示例代码.部分代码如下所示;

private List points;

long timeTakeninMilis = System.currentTimeMillis();

public List getPoints() {

return points;

}

public void setPoints(List points) {

this.points = points;

}

public void drawJava8() {

points.stream().forEachOrdered(

point -> System.out.println("Point : (" + point.getX() + ", "

+ point.getY() + ")"));

System.out.println("Total Time Taken drawJava8(): "

+ (System.currentTimeMillis() - timeTakeninMilis)

+ " miliseconds");

}

public void draw() {

for (Point point : points) {

System.out.println("Point = (" + point.getX() + ", " + point.getY()

+ " )");

}

System.out.println("Total Time Taken draw(): "

+ (System.currentTimeMillis() - timeTakeninMilis)

+ " miliseconds");

}

输出,

Jun 30, 2015 11:30:53 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh

INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7daf6ecc: startup date [Tue Jun 30 11:30:53 IST 2015]; root of context hierarchy

Jun 30, 2015 11:30:53 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions

INFO: Loading XML bean definitions from class path resource [spring.xml]

Point = (0, 0 )

Point = (-50, 0 )

Point = (0, 50 )

Total Time Taken draw(): 70 miliseconds

Point : (0, 0)

Point : (-50, 0)

Point : (0, 50)

Total Time Taken drawJava8(): 124 miliseconds

Jun 30, 2015 11:30:54 AM org.springframework.context.support.ClassPathXmlApplicationContext doClose

INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@7daf6ecc: startup date [Tue Jun 30 11:30:53 IST 2015]; root of context hierarchy

为什么要花更多时间?

还是我做错了什么?

我期望它更快或更类似的速度…

请帮助我了解Lambda表达式的好处是什么?

信息:我在两个不同的程序中做到了.时间就是从那些.我在这里合并它们以简化它.

解决方法:

根据原始发帖人的请求将其添加为分析.

我们不能真正预测现代JIT编译器对正在运行的代码执行的复杂分析和转换.因此,在对诸如此类的项目进行基准测试时,您不应仅通过运行两个方法调用来得出结论.

相反,创建各种示例输入集(边界案例)并通过重复调用测试案例而不关闭JVM来检查性能.例如,在这种情况下:

for (int i=0;i<100;i++){draw(); drawJava8();}

获得结果后,找出平均执行情况,就可以放心地忽略第一个执行结果,因为它可能没有进行优化.

因此,您从测试中得出的结论并不完全正确.

标签:java-8,java-stream,foreach,spring,java

来源: https://codeday.me/bug/20191120/2041249.html

java 8 foreach_Java 8 forEach Stream()与旧版forEach循环相关推荐

  1. ie开始屏蔽旧的java插件_IE将開始屏蔽旧版ActiveX控件

    微软IE团队上周宣布将在IE中屏蔽旧版本号的ActiveX控件以加强IE的安全性.首先会被禁用的旧版本号ActiveX控件包括: J2SE 1.4, 低于update 43 的版本号 J2SE 5.0 ...

  2. 【Java 8】流(Stream API)

    本文参考书籍<Java 8实战>,陆明刚.劳佳  译,如有侵权,请联系删除! 在本章中,我们会使用这样一个例子:一个menu,它是一张菜肴列表: List<Dish> menu ...

  3. Java 8 Friday:让我们弃用那些旧版库

    在Data Geekery ,我们喜欢Java. 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋. Java 8星期五 每个星期 ...

  4. java 字符串掐头去尾_Java 8 Stream 简单介绍

    前言 其实,Stream很简单,如果你感到困难的话,不妨换个角度去理解它.任何新东西都不是凭空产生的,而是缘于某种旧东西的升华和改造,不妨把Stream当做高级版的 Iterator,那么将大幅拉近S ...

  5. Java中Lambda表达式和stream的使用

    Java中Lambda表达式和stream的使用 转自 [*https://www.cnblogs.com/franson-2016/p/5593080.html*] 简介 (译者注:虽然看着很先进, ...

  6. 跟我学 Java 8 新特性之 Stream 流(七)流与迭代器,流系列大结局

    转载自   跟我学 Java 8 新特性之 Stream 流(七)流与迭代器,流系列大结局 恭喜你们,马上就要学完Java8 Stream流的一整系列了,其实我相信Stream流对很多使用Java的同 ...

  7. 跟我学 Java 8 新特性之 Stream 流(六)收集

    转载自   跟我学 Java 8 新特性之 Stream 流(六)收集 我们前面的五篇文章基本都是在说将一个集合转成一个流,然后对流进行操作,其实这种操作是最多的,但有时候我们也是需要从流中收集起一些 ...

  8. 跟我学 Java 8 新特性之 Stream 流基础体验

    转载自   跟我学 Java 8 新特性之 Stream 流基础体验 Java8新增的功能中,要数lambda表达式和流API最为重要了.这篇文章主要介绍流API的基础,也是流API系列的第一篇文章, ...

  9. 跟我学 Java 8 新特性之 Stream 流(二)关键知识点

    转载自   跟我学 Java 8 新特性之 Stream 流(二)关键知识点 我们的第一篇文章,主要是通过一个Demo,让大家体验了一下使用流API的那种酣畅淋漓的感觉.如果你没有实践,我还是再次呼吁 ...

最新文章

  1. 2022-2028年中国抗菌不锈钢行业研究及前瞻分析报告
  2. 在一家开源公司工作的体验!
  3. speech codec (G.711, G.723, G.726, G.729, iLBC)
  4. 【Android 逆向】函数拦截实例 ( ③ 刷新 CPU 高速缓存 | ④ 处理拦截函数 | ⑤ 返回特定结果 )
  5. [改善Java代码]不使用stop方法停止线程
  6. c#中结构体和类的比较
  7. VTK:可视化之FontFile
  8. 从笑话中看到产品创意
  9. MySQL数据库学习笔记(三)----基本的SQL语句
  10. 作业 利用单选框控制图片的显示
  11. 加密用户向阿桑奇捐赠超40万美元的BTC用于法律辩护
  12. mysq 正序查询并且0排在最后
  13. CSS3 transform 旋转、偏移、缩放属性,CSS3 filter 滤镜,实现图像特效
  14. 自动脚本 android,安卓自动脚本软件下载-自动脚本 安卓版v2.0.3-PC6安卓网
  15. c语言作业做出金山打字功能,C语言实现简易金山打字通
  16. 反垃圾邮件技术之密径追踪
  17. Maxcompute Sql性能调优(1)
  18. 18907 雪花雪花雪花
  19. IT信息技术-1.1 信息系统与信息化
  20. 最真挚的告白与道歉信(代码实现)

热门文章

  1. python中csv模块是自带的吗_python csv模块 Python的CSV模块,怎么新建为添加模式
  2. activiti 文档_免费、开源、多平台的PDF文档处理软件——PDFsam Basic
  3. 用java创建窗口程序,创建窗口的应用程序
  4. java分页代码思路,记录--java 分页 思路 (hibernate关键代码)
  5. 搜狗输入法怎么清除输入记忆 搜狗输入法清除输入记忆方法
  6. 爱奇艺如何设置最小化显示在托盘
  7. matlab读取suffer,MATLAB调用surfer时出错
  8. PageHelper分页插件源码及原理剖析
  9. Java后端 + 百度SDK实现人脸识别
  10. XSSFWorkbook与HSSFWorkbook的区别