java - Java 8 lambda 和匿名内部类之间的性能差异

标签 java performance closures java-8

在 Java 8 之前,可以通过使用匿名内部类来实现 lambda 功能。例如:

interface Lambda {
    void doStuff();
}

// ...

public void doWithCallback(Lambda callback) {
    // ...
    callback.doStuff();
}

// ...

doWithCallback(new Lambda { 
    public void doStuff() { 
        // ... 
    } 
});

在性能方面,仍然使用这种方法和使用新的 Java 8 lambda 有区别吗?

最佳答案

Oracle 发布了一项比较 Lambda 和匿名类之间性能的研究

JDK 8: Lambda Performance Study由 Sergey Kuksenko 撰写,共有 74 张幻灯片。

总结:预热很慢,但当 JIT 内联时,最坏的情况与匿名类一样快,但可以更快。

关于java - Java 8 lambda 和匿名内部类之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294846/

相关文章:

Javascript 无法从模块实例化对象

java - html 内的 JSTL 对象 :option

Spring imap-idle-channel-adapter 基于 Java 的配置

sql - 有关最佳SQL性能更新和/或计算现有库存总数的建议

mysql - 为什么这个 SQL 查询会花很长时间?

JavaScript 赋予被调用函数访问调用函数变量的权限

swift - Swift 中的 Curried 闭包

java - 设置类路径资源

java - 对java中的对象列表进行排序

ios - glDrawElements 与 GL_LINES 强制 gleRunVertexSubmitARM? (或 : why drawing wireframes is slow on iOS? )