在Java 8之前,可以通过使用匿名内部类来实现lambda功能。例如:
interface Lambda { void doStuff(); } // ... public void doWithCallback(Lambda callback) { // ... callback.doStuff(); } // ... doWithCallback(new Lambda { public void doStuff() { // ... } });
在性能方面,仍然使用这种方法和使用新的Java 8 lambda之间有区别吗?
甲骨文发布了一项研究,比较了Lambda和匿名类之间的性能
请参见Sergey Kuksenko撰写的JDK 8:Lambda性能研究,该幻灯片长74张。
简介:预热缓慢,但是当JIT内联时,最坏的情况与匿名类一样快,但可以更快。