15

我尝试在网上挖掘以回答我的问题。我找到了一些与Project DaVinci相关的文件。这被标记为与在 JVM 中包含闭包相关的 JSR 292。这个项目是否实现了,它是 Java 8 的一部分吗?

4

2 回答 2

11

据我所知,Java 8 没有尾调用优化。Afaik 它与实际的编译器技巧无关,因为那很简单,但出于安全目的保留调用堆栈。但我想用字节码重写器是可能的。

于 2014-04-04T15:13:34.480 回答
7

Java 在编译器级别不支持 TCO,但可以使用 Java 8 使用 lambda 表达式来实现它。Venkat Subramaniamin 在“Java 中的函数式编程”中对其进行了描述。

于 2015-08-27T07:57:55.943 回答