论证1:
https://blog.csdn.net/asdflwlong/article/details/81538551
这篇文章对我的启发很大,主要就是讲述了,在增强for循环和lambda循环性能的多次比较。
连测5次性能对比,第一次lambda很慢,之后的每次都是lambda快。
论证2:
一方面lambda表达式是可以写return的,另一方面当我动态加载含有lambda表达式的类的时候,内存中会多一个带lambda表达式前缀的方法。
那我分析,其实是每个lambda表达式自生成了一个新的方法,然后由我们写的方法来调用这个新方法。
结论:
其实lambda是生成了一个对for循环优化的一个方法,但是此方法是慢加载的,即第一次访问的时候才生成优化for循环方法,所以第一次会慢,而只要不重启,之后的每次都会快很多。