Java 8 有尾部调用优化吗?

2022-09-03 06:38:31

我试着在网上挖掘,让我的问题得到解答。我找到了一些与达芬奇计划有关的文件。这被标记为JSR 292,这与在JVM中包含闭包有关。这个项目是否实现了,它是Java 8的一部分吗?


答案 1

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


答案 2

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


推荐