-1

私は、関数がオーバーライドされた後、Scala コンパイラが関数をインライン化すると想定しています。

4

1 に答える 1

1

JVM のオプティマイザーは、事実上 finalではないメソッド(final 自体、またはシールされたクラスまたはオブジェクト、またはそのようなもの) をインライン化することを単に拒否します。したがって、明らかに、オーバーライドされたメソッドはオンラインになりません。

JavaScript では、オプティマイザは、オーバーライドされたメソッドをインライン化する権利があることを何らかの方法で証明できる場合に、インライン化できます。場合によっては、はい、サブクラスからメソッドをインライン化します。

于 2015-07-10T11:56:48.030 に答える