【发布时间】:2014-07-15 17:06:14
【问题描述】:
我想知道 lambdas 在 Java 8 中有多大的好处。我同意有时使用 lambdas 可能更具可读性,但它对性能方面真的有这么大的影响吗?还是主要集中在语法糖上? 有时我更喜欢匿名内部类;不一直使用 lambda 真的会失去很多好处吗?
唯一的?大?在我看来,性能提升是我们实际上并没有创建类加载器必须在程序开始时加载的类——例如创建许多线程:
Thread t = new Thread(new Runnable() {
public.....
});
创建像Sample$1.class 这样的类。
除此之外,除了代码的可读性或可维护性等之外,是否还有任何性能或其他隐藏的收益?隐藏在 JVM 中的某个地方?我见过与此类似的问题,但大多数都集中在视觉方面;我对此不感兴趣。在观看 Java 8 Lambdas Hacking 和 Venkat Subramaniam 之后,这个问题是出于好奇。
【问题讨论】:
标签: java performance lambda java-8 inner-classes