Java 8是否有尾调用优化?

Abh*_*she 14 java tail-call-optimization java-8

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

pve*_*jer 11

据我所知,Java 8没有尾调用优化.Afaik它与实际的编译器技巧无关,因为它很简单,但为了安全起见保留了一个callstack.但我想用字节码重写器是可能的.


小智 7

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

  • 请引用本书的相关摘录. (4认同)
  • @toniedzwiedz http://blog.agiledeveloper.com/2013/01/functional-programming-in-java-is-quite.html.这是一个由Venkat创建的博客,谈论这个 (2认同)