invokedynamic及其对应用程序开发人员的优势

时间:2012-02-10 08:22:58

标签: java jvm java-7 invokedynamic

最近,我正在阅读Java 7的功能,而invokedynamic是最令人期待的功能之一。大多数博客/文章从JVM实现的角度提供了优势,特别是对于动态类型语言。从应用程序开发人员的角度来看,它对我有何影响?

2 个答案:

答案 0 :(得分:3)

如果您使用其中一种动态语言编写应用程序,您的应用程序将(可能)运行得更快。特别是JRuby目前大量使用它。

如果您使用Java编写,它不会影响您,因为Java(当前)不使用此指令。我认为有一些人认为其中一个Java 8语言功能可能正在使用它,但我现在找不到对它的引用,而Java 8现在还有很长的路要走。

答案 1 :(得分:2)

在Java中,您可以使用MethodHandle作为反射的更快替代方案。您可以阅读有关MethodHandles here的更多信息。

请注意,MethodHandle不使用invokedynamic,但开发了MethodHandle功能以提供对invokedynamic的支持。对于Java应用程序开发人员而言,MethodHandle是对invokedynamic工作产生的唯一好处。