最近、私は Java 7 の機能について読んでいましたが、invokedynamic は最も期待されていた機能の 1 つでした。ほとんどのブログ/記事は、特に動的型付け言語について、JVM 実装の観点から利点を提供しています。アプリケーション開発者の観点から、それは私にどのような影響を与えますか?
質問する
358 次
2 に答える
3
これらの動的言語のいずれかでアプリケーションを作成している場合、アプリケーションは (おそらく) より高速に実行されます。特に JRuby は現在、これを多用しています。
Java で書いている場合、Java (現在) はこの命令を使用しないため、影響はありません。Java 8 言語機能の 1 つがそれを使用している可能性があるという話があったと思いますが、現在それへの参照を見つけることができません。
于 2012-02-10T08:27:07.417 に答える
2
Java では、リフレクションのより高速な代替手段として MethodHandle を使用できます。ここでMethodHandles についてもう少し詳しく読むことができます。
MethodHandle は invokedynamic を使用しないことに注意してください。ただし、MethodHandle 機能は、invokedynamic のサポートを提供するために開発されました。Java アプリケーション開発者にとって、メソッドハンドルは、invokedynamic に向けた作業から生じる唯一の利点です。
于 2012-02-17T12:52:51.370 に答える