我正在尝试使用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. mysql 使用 utf8mb4 编码
  2. c语言斐波那契数列_视频丨神奇的斐波那契数列科学性与艺术性
  3. VC++编程实现多显示器控制(复制、横屏、纵屏,显示器个数)
  4. python风控工具_python-风控模型分析01
  5. Linux的分区类型
  6. WINDOWS 2008Server 配置nginx 反向代理服务器 安装成服务
  7. 最新HyperSnap绿色汉化版
  8. win10 如何设置绿色保护色?
  9. android添加侧滑菜单,Android侧滑菜单控件DrawerLayout使用详解
  10. 【JSD-Day01】语言基础第一天
  11. linux管理web项目目录结构图,WEB项目管理完整.doc
  12. Ghost超级技巧一家亲
  13. 什么是Race Condition?
  14. 股票中的杠杆原理是指什么?
  15. ffmpeg C语言视频解码
  16. Java集合Collection源码系列-ArrayList源码分析
  17. 路由套接口 unp17
  18. python图像处理---python的图像处理模块Image
  19. spring 不同注解的使用场景
  20. 第六章 C语言数组_C语言数组的越界和溢出

热门文章

  1. vivado顶层模块怎么建_【第2040期】Node 模块化之争:为什么 CommonJS 和 ES Modules 无法相互协调...
  2. java ocsp请求_java – 客户端证书上的OCSP吊销
  3. java 复写_课程5.4之函数的复写(override)
  4. qt更改类名_Qt编写自定义控件属性设计器
  5. 新版Elemen Plus 国际化 1.0.2-beta.59(包含59)
  6. python网址太长_Python GUI-长链转短链
  7. java in out 参数_总是避免Java中的in-out参数?
  8. mysql锿法_MySQL基本用法
  9. 计算机专业合成词,大学计算机论文范文大全.docx
  10. debian 安装java_debian9安装jdk1.8