私が読んだことから:理由は、継承があるためにどのメソッドが実際に呼び出されるかを決定するのは簡単ではないからです。
しかし、なぜJavaには少なくとも静的メソッドの末尾再帰最適化がなく、コンパイラで静的メソッドを呼び出す適切な方法を強制しないのですか?
Javaが末尾再帰をまったくサポートしないのはなぜですか?
ここに問題があるかどうかはまったくわかりません。
JörgW Mittag 1が説明したように、提案された複製について:
- もう1つの質問は、TCOに関する質問です。これはTREに関する質問です。TREはTCOよりもはるかに単純です。
- また、別の質問では、JVMがJVMにコンパイルしたい言語実装にどのような制限を課しているのかを尋ねます。この質問は、JVMによって制限されないJavaについて質問します。 Javaを設計する同じ人々。
- 最後に、JVMにはメソッド内GOTOがあり、TREに必要なのはそれだけであるため、JVMにはTREに関する制限さえありません。
1作成されたポイントを呼び出すためにフォーマットが追加されました。