据我所读:原因是因为在继承时,要确定要实际调用的方法并不容易。
但是,为什么Java至少没有对静态方法进行尾递归优化并强制使用正确的方法来用编译器调用静态方法?
为什么Java根本不支持尾递归?
我不确定这里是否有任何困难。
关于建议的副本,如JörgW Mittag 1所述:
- 另一个问题是关于TCO的,这个是关于TRE的。TRE比TCO简单得多。
- 此外,另一个问题询问JVM对希望编译为JVM的语言实现施加哪些限制,该问题询问Java,这是不受JVM限制的一种语言,因为JVM规范可以通过以下方式更改:设计Java的人
- 最后,JVM中甚至没有关于TRE的限制,因为JVM确实具有方法内GOTO,这是TRE所需的全部
1 添加了格式以标注点。