让我们假设我们有以下代码:
Thread t = new Thread(new Runnable(){
public void run(){
System.out.println("separated thread");
}
});
t.start();
Java 8中可替换的内容是:
Thread t = new Thread(() -> System.out.println("separated thread"));
t.start();
现在据我所知,在 JVM 上运行的其他语言中的lambda表达式,例如 Scala 和 Groovy ,简称为一个匿名的块 编译器用其等效的匿名内部类替换表达式的代码,为每个调用生成一个新类,我知道上述在大小和运行时方面都不是很好。
这是Java中的情况吗?如果不是如何处理lambda(详细信息)? 我也很感激;如果使用invokedDynamic功能支持lambda的机制被解释了吗?