2012-02-10 3 views
0

В последнее время я читал о Java 7 функций и invokedynamic был один из самых ожидаемых один. Большинство блогов/статей предоставляют преимущества с точки зрения реализации JVM, особенно для динамически типизированных языков. Как с точки зрения разработчика приложений, как это влияет на меня?invokedynamic и его преимущества для разработчиков приложений

ответ

3

Если вы пишете приложение в одном из этих динамических языков, ваше приложение будет (возможно) работать быстрее. Особенно JRuby использует его в настоящий момент.

Если вы пишете в Java, это не будет влиять на вас, потому что Java (в настоящее время) не использует эту команду. Я думаю, что есть некоторые разговоры о том, что одна из возможностей языка Java 8 может использовать его, но я не могу найти ссылку на это прямо сейчас, а Java 8 пока еще далеко.

2

В Java вы можете использовать MethodHandle как быстрая альтернатива отражения. Вы можете прочитать немного больше о MethodHandles here.

Обратите внимание, что MethodHandle не использует invokedynamic, но функция MethodHandle был разработан, чтобы обеспечить поддержку invokedynamic. Для разработчика Java-приложений MethodHandle является единственным преимуществом, которое возникает из работы по invokedynamic.

+0

Этот ответ теперь полностью Obselete и должны быть удалены. – kittylyst

+0

не могли бы вы уточнить? –

+0

Java 8 использует invokedynamic под капотом для довольно большой функциональности - включая методы lambdas и default – kittylyst

Смежные вопросы